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

Data.Number.Flint.Fmpz.MPoly.Factor

Synopsis

Factorisation of multivariate polynomials over the integers

Types

Memory management

fmpz_mpoly_factor_init :: Ptr CFmpzMPolyFactor -> Ptr CFmpzMPolyCtx -> IO () Source #

fmpz_mpoly_factor_init f ctx

Initialise f.

fmpz_mpoly_factor_clear :: Ptr CFmpzMPolyFactor -> Ptr CFmpzMPolyCtx -> IO () Source #

fmpz_mpoly_factor_clear f ctx

Clear f.

Input and Output

fmpz_mpoly_get_str_pretty :: Ptr CFmpzMPoly -> Ptr (Ptr CChar) -> Ptr CFmpzMPolyCtx -> IO CString Source #

fmpz_mpoly_get_str_pretty A x ctx

Return a string, which the user is responsible for cleaning up, representing A, given an array of variable strings x.

Basic manipulation

fmpz_mpoly_factor_swap :: Ptr CFmpzMPolyFactor -> Ptr CFmpzMPolyFactor -> Ptr CFmpzMPolyCtx -> IO () Source #

fmpz_mpoly_factor_swap f g ctx

Efficiently swap f and g.

fmpz_mpoly_factor_length :: Ptr CFmpzMPolyFactor -> Ptr CFmpzMPolyCtx -> IO CLong Source #

fmpz_mpoly_factor_length f ctx

Return the length of the product in f.

fmpz_mpoly_factor_get_constant_fmpz :: Ptr CFmpz -> Ptr CFmpzMPolyFactor -> Ptr CFmpzMPolyCtx -> IO () Source #

fmpz_mpoly_factor_get_constant_fmpz c f ctx

Set \(c\) to the constant of f.

fmpz_mpoly_factor_get_base :: Ptr CFmpzMPoly -> Ptr CFmpzMPolyFactor -> CLong -> Ptr CFmpzMPolyCtx -> IO () Source #

fmpz_mpoly_factor_get_base B f i ctx

Set (resp. swap) B to (resp. with) the base of the term of index \(i\) in A.

fmpz_mpoly_factor_get_exp_si :: Ptr CFmpzMPolyFactor -> CLong -> Ptr CFmpzMPolyCtx -> IO CLong Source #

fmpz_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.

fmpz_mpoly_factor_sort :: Ptr CFmpzMPolyFactor -> Ptr CFmpzMPolyCtx -> IO () Source #

fmpz_mpoly_factor_sort f ctx

Sort the product of f first by exponent and then by base.

Factorisation

fmpz_mpoly_factor_squarefree :: Ptr CFmpzMPolyFactor -> Ptr CFmpzMPoly -> Ptr CFmpzMPolyCtx -> IO CInt Source #

fmpz_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_mpoly_factor_sort and then multiply the bases with the desired exponent.

fmpz_mpoly_factor :: Ptr CFmpzMPolyFactor -> Ptr CFmpzMPoly -> Ptr CFmpzMPolyCtx -> IO CInt Source #

fmpz_mpoly_factor f A ctx

Set f to a factorization of A where the bases are irreducible.