Flint2-0.1.0.5: Haskell bindings for the flint library for number theory
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Number.Flint.Fmpq.MPoly.Factor

Synopsis

Factorisation of multivariate polynomials over the rational numbers

Memory management

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.