Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data FmpzModMPolyFactor = FmpzModMPolyFactor !(ForeignPtr CFmpzModMPolyFactor)
- data CFmpzModMPolyFactor = CFmpzModMPolyFactor
- newFmpzModMPolyFactor :: FmpzModMPolyCtx -> IO FmpzModMPolyFactor
- withFmpzModMPolyFactor :: FmpzModMPolyFactor -> (Ptr CFmpzModMPolyFactor -> IO a) -> IO (FmpzModMPolyFactor, a)
- fmpz_mod_mpoly_factor_init :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO ()
- fmpz_mod_mpoly_factor_clear :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO ()
- fmpz_mod_mpoly_factor_swap :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO ()
- fmpz_mod_mpoly_factor_length :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO CLong
- fmpz_mod_mpoly_factor_get_constant_fmpz :: Ptr CFmpz -> Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO ()
- fmpz_mod_mpoly_factor_get_base :: Ptr CFmpzModMPoly -> Ptr CFmpzModMPolyFactor -> CLong -> Ptr CFmpzModMPolyCtx -> IO ()
- fmpz_mod_mpoly_factor_swap_base :: Ptr CFmpzModMPoly -> Ptr CFmpzModMPolyFactor -> CLong -> Ptr CFmpzModMPolyCtx -> IO ()
- fmpz_mod_mpoly_factor_get_exp_si :: Ptr CFmpzModMPolyFactor -> CLong -> Ptr CFmpzModMPolyCtx -> IO CLong
- fmpz_mod_mpoly_factor_sort :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO ()
- fmpz_mod_mpoly_factor_squarefree :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPoly -> Ptr CFmpzModMPolyCtx -> IO CInt
- fmpz_mod_mpoly_factor :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPoly -> Ptr CFmpzModMPolyCtx -> IO CInt
Factorisation of multivariate polynomials over the integers mod n
data CFmpzModMPolyFactor Source #
Instances
Storable CFmpzModMPolyFactor Source # | |
Defined in Data.Number.Flint.Fmpz.Mod.MPoly.Factor.FFI sizeOf :: CFmpzModMPolyFactor -> Int # alignment :: CFmpzModMPolyFactor -> Int # peekElemOff :: Ptr CFmpzModMPolyFactor -> Int -> IO CFmpzModMPolyFactor # pokeElemOff :: Ptr CFmpzModMPolyFactor -> Int -> CFmpzModMPolyFactor -> IO () # peekByteOff :: Ptr b -> Int -> IO CFmpzModMPolyFactor # pokeByteOff :: Ptr b -> Int -> CFmpzModMPolyFactor -> IO () # peek :: Ptr CFmpzModMPolyFactor -> IO CFmpzModMPolyFactor # poke :: Ptr CFmpzModMPolyFactor -> CFmpzModMPolyFactor -> IO () # |
newFmpzModMPolyFactor :: FmpzModMPolyCtx -> IO FmpzModMPolyFactor Source #
Create a new FmpzModMPolyFactor
withFmpzModMPolyFactor :: FmpzModMPolyFactor -> (Ptr CFmpzModMPolyFactor -> IO a) -> IO (FmpzModMPolyFactor, a) Source #
Memory management
fmpz_mod_mpoly_factor_init :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO () Source #
fmpz_mod_mpoly_factor_init f ctx
Initialise f.
fmpz_mod_mpoly_factor_clear :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO () Source #
fmpz_mod_mpoly_factor_clear f ctx
Clear f.
Basic manipulation
fmpz_mod_mpoly_factor_swap :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO () Source #
fmpz_mod_mpoly_factor_swap f g ctx
Efficiently swap f and g.
fmpz_mod_mpoly_factor_length :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO CLong Source #
fmpz_mod_mpoly_factor_length f ctx
Return the length of the product in f.
fmpz_mod_mpoly_factor_get_constant_fmpz :: Ptr CFmpz -> Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO () Source #
fmpz_mod_mpoly_factor_get_constant_fmpz c f ctx
Set c to the constant of f.
fmpz_mod_mpoly_factor_get_base :: Ptr CFmpzModMPoly -> Ptr CFmpzModMPolyFactor -> CLong -> Ptr CFmpzModMPolyCtx -> IO () Source #
fmpz_mod_mpoly_factor_get_base B f i ctx
fmpz_mod_mpoly_factor_swap_base :: Ptr CFmpzModMPoly -> Ptr CFmpzModMPolyFactor -> CLong -> Ptr CFmpzModMPolyCtx -> IO () Source #
fmpz_mod_mpoly_factor_swap_base B f i ctx
Set (resp. swap) B to (resp. with) the base of the term of index i in f.
fmpz_mod_mpoly_factor_get_exp_si :: Ptr CFmpzModMPolyFactor -> CLong -> Ptr CFmpzModMPolyCtx -> IO CLong Source #
fmpz_mod_mpoly_factor_get_exp_si f i ctx
Return the exponent of the term of index i in f. It is assumed to
fit an slong
.
fmpz_mod_mpoly_factor_sort :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPolyCtx -> IO () Source #
fmpz_mod_mpoly_factor_sort f ctx
Sort the product of f first by exponent and then by base.
Factorisation
fmpz_mod_mpoly_factor_squarefree :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPoly -> Ptr CFmpzModMPolyCtx -> IO CInt Source #
fmpz_mod_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
fmpz_mod_mpoly_factor_sort
and then multiply the bases with the
desired exponent.
fmpz_mod_mpoly_factor :: Ptr CFmpzModMPolyFactor -> Ptr CFmpzModMPoly -> Ptr CFmpzModMPolyCtx -> IO CInt Source #
fmpz_mod_mpoly_factor f A ctx
Set f to a factorization of A where the bases are irreducible.