Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data FqNModMPolyFactor = FqNModMPolyFactor !(ForeignPtr CFqNModMPolyFactor)
- data CFqNModMPolyFactor = CFqNModMPolyFactor (Ptr CFqNMod) (Ptr CFqNModMPoly) (Ptr CFmpz) CLong CLong
- newFqNModMPolyFactor :: FqNModMPolyCtx -> IO FqNModMPolyFactor
- withFqNModMPolyFactor :: FqNModMPolyFactor -> (Ptr CFqNModMPolyFactor -> IO a) -> IO (FqNModMPolyFactor, a)
- fq_nmod_mpoly_factor_init :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO ()
- fq_nmod_mpoly_factor_clear :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO ()
- fq_nmod_mpoly_factor_swap :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO ()
- fq_nmod_mpoly_factor_length :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO CLong
- fq_nmod_mpoly_factor_get_constant_fq_nmod :: Ptr CFqNMod -> Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO ()
- fq_nmod_mpoly_factor_get_base :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyFactor -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
- fq_nmod_mpoly_factor_swap_base :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyFactor -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
- fq_nmod_mpoly_factor_get_exp_si :: Ptr CFqNModMPolyFactor -> CLong -> Ptr CFqNModMPolyCtx -> IO CLong
- fq_nmod_mpoly_factor_sort :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO ()
- fq_nmod_mpoly_factor_squarefree :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
- fq_nmod_mpoly_factor :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
Factorisation of multivariate polynomials over finite fields of
data CFqNModMPolyFactor Source #
Instances
Storable CFqNModMPolyFactor Source # | |
Defined in Data.Number.Flint.Fq.NMod.MPoly.Factor.FFI sizeOf :: CFqNModMPolyFactor -> Int # alignment :: CFqNModMPolyFactor -> Int # peekElemOff :: Ptr CFqNModMPolyFactor -> Int -> IO CFqNModMPolyFactor # pokeElemOff :: Ptr CFqNModMPolyFactor -> Int -> CFqNModMPolyFactor -> IO () # peekByteOff :: Ptr b -> Int -> IO CFqNModMPolyFactor # pokeByteOff :: Ptr b -> Int -> CFqNModMPolyFactor -> IO () # peek :: Ptr CFqNModMPolyFactor -> IO CFqNModMPolyFactor # poke :: Ptr CFqNModMPolyFactor -> CFqNModMPolyFactor -> IO () # |
withFqNModMPolyFactor :: FqNModMPolyFactor -> (Ptr CFqNModMPolyFactor -> IO a) -> IO (FqNModMPolyFactor, a) Source #
Memory management
fq_nmod_mpoly_factor_init :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO () Source #
fq_nmod_mpoly_factor_init f ctx
Initialise f.
fq_nmod_mpoly_factor_clear :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO () Source #
fq_nmod_mpoly_factor_clear f ctx
Clear f.
Basic manipulation
fq_nmod_mpoly_factor_swap :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO () Source #
fq_nmod_mpoly_factor_swap f g ctx
Efficiently swap f and g.
fq_nmod_mpoly_factor_length :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO CLong Source #
fq_nmod_mpoly_factor_length f ctx
Return the length of the product in f.
fq_nmod_mpoly_factor_get_constant_fq_nmod :: Ptr CFqNMod -> Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO () Source #
fq_nmod_mpoly_factor_get_constant_fq_nmod c f ctx
Set \(c\) to the constant of f.
fq_nmod_mpoly_factor_get_base :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyFactor -> CLong -> Ptr CFqNModMPolyCtx -> IO () Source #
fq_nmod_mpoly_factor_get_base p f i ctx
fq_nmod_mpoly_factor_swap_base :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyFactor -> CLong -> Ptr CFqNModMPolyCtx -> IO () Source #
fq_nmod_mpoly_factor_swap_base p f i ctx
Set (resp. swap) B to (resp. with) the base of the term of index i in A.
fq_nmod_mpoly_factor_get_exp_si :: Ptr CFqNModMPolyFactor -> CLong -> Ptr CFqNModMPolyCtx -> IO CLong Source #
fq_nmod_mpoly_factor_get_exp_si f i ctx
Return the exponent of the term of index i in A. It is assumed to
fit an slong
.
fq_nmod_mpoly_factor_sort :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPolyCtx -> IO () Source #
fq_nmod_mpoly_factor_sort f ctx
Sort the product of f first by exponent and then by base.
Factorisation
fq_nmod_mpoly_factor_squarefree :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt Source #
fq_nmod_mpoly_factor_squarefree f A ctx
Set f to a factorization of A where the bases are primitive and
pairwise relatively prime. If the product of all irreducible factors
with a given exponent is desired, it is recommended to call
fq_nmod_mpoly_factor_sort
and then multiply the bases with the desired
exponent.
fq_nmod_mpoly_factor :: Ptr CFqNModMPolyFactor -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt Source #
fq_nmod_mpoly_factor f A ctx
Set f to a factorization of A where the bases are irreducible.