Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data FmpqMPolyFactor = FmpqMPolyFactor !(ForeignPtr CFmpqMPolyFactor)
- data CFmpqMPolyFactor = CFmpqMPolyFactor (Ptr CFmpq) (Ptr CFmpqMPoly) (Ptr CFmpz) CLong CLong
- newFmpqMPolyFactor :: FmpqMPolyCtx -> IO FmpqMPolyFactor
- withFmpqMPolyFactor :: FmpqMPolyFactor -> (Ptr CFmpqMPolyFactor -> IO a) -> IO (FmpqMPolyFactor, a)
- fmpq_mpoly_factor_init :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO ()
- fmpq_mpoly_factor_clear :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO ()
- fmpq_mpoly_factor_length :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO CLong
- fmpq_mpoly_factor_get_constant_fmpq :: Ptr CFmpq -> Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO ()
- fmpq_mpoly_factor_get_base :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyFactor -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
- fmpq_mpoly_factor_swap_base :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyFactor -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
- fmpq_mpoly_factor_get_exp_si :: Ptr CFmpqMPolyFactor -> CLong -> Ptr CFmpqMPolyCtx -> IO CLong
- fmpq_mpoly_factor_sort :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO ()
- fmpq_mpoly_factor_make_monic :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO CInt
- fmpq_mpoly_factor_make_integral :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO CInt
- fmpq_mpoly_factor_squarefree :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
- fmpq_mpoly_factor :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
Factorisation of multivariate polynomials over the rational numbers
Memory management
data CFmpqMPolyFactor Source #
CFmpqMPolyFactor (Ptr CFmpq) (Ptr CFmpqMPoly) (Ptr CFmpz) CLong CLong |
Instances
Storable CFmpqMPolyFactor Source # | |
Defined in Data.Number.Flint.Fmpq.MPoly.Factor.FFI sizeOf :: CFmpqMPolyFactor -> Int # alignment :: CFmpqMPolyFactor -> Int # peekElemOff :: Ptr CFmpqMPolyFactor -> Int -> IO CFmpqMPolyFactor # pokeElemOff :: Ptr CFmpqMPolyFactor -> Int -> CFmpqMPolyFactor -> IO () # peekByteOff :: Ptr b -> Int -> IO CFmpqMPolyFactor # pokeByteOff :: Ptr b -> Int -> CFmpqMPolyFactor -> IO () # peek :: Ptr CFmpqMPolyFactor -> IO CFmpqMPolyFactor # poke :: Ptr CFmpqMPolyFactor -> CFmpqMPolyFactor -> IO () # |
withFmpqMPolyFactor :: FmpqMPolyFactor -> (Ptr CFmpqMPolyFactor -> IO a) -> IO (FmpqMPolyFactor, a) Source #
fmpq_mpoly_factor_init :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO () Source #
fmpq_mpoly_factor_init f ctx
Initialise f.
fmpq_mpoly_factor_clear :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO () Source #
fmpq_mpoly_factor_clear f ctx
Clear f.
Basic manipulation
fmpq_mpoly_factor_length :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO CLong Source #
fmpq_mpoly_factor_length f ctx
Return the length of the product in f.
fmpq_mpoly_factor_get_constant_fmpq :: Ptr CFmpq -> Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO () Source #
fmpq_mpoly_factor_get_constant_fmpq c f ctx
Set c to the constant of f.
fmpq_mpoly_factor_get_base :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyFactor -> CLong -> Ptr CFmpqMPolyCtx -> IO () Source #
fmpq_mpoly_factor_get_base B f i ctx
fmpq_mpoly_factor_swap_base :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyFactor -> CLong -> Ptr CFmpqMPolyCtx -> IO () Source #
fmpq_mpoly_factor_swap_base B f i ctx
Set (resp. swap) B to (resp. with) the base of the term of index i in A.
fmpq_mpoly_factor_get_exp_si :: Ptr CFmpqMPolyFactor -> CLong -> Ptr CFmpqMPolyCtx -> IO CLong Source #
fmpq_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
.
fmpq_mpoly_factor_sort :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO () Source #
fmpq_mpoly_factor_sort f ctx
Sort the product of f first by exponent and then by base.
fmpq_mpoly_factor_make_monic :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO CInt Source #
fmpq_mpoly_factor_make_monic f ctx
fmpq_mpoly_factor_make_integral :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPolyCtx -> IO CInt Source #
fmpq_mpoly_factor_make_integral f ctx
Make the bases in f monic (resp. integral and primitive with positive leading coefficient). Return \(1\) for success, \(0\) for failure.
Factorisation
fmpq_mpoly_factor_squarefree :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt Source #
fmpq_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
fmpq_mpoly_factor_sort
and then multiply the bases with the desired
exponent.
fmpq_mpoly_factor :: Ptr CFmpqMPolyFactor -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt Source #
fmpq_mpoly_factor f A ctx
Set f to a factorization of A where the bases are irreducible.