# AlgebraicIntegrate2(R0, F, R)ΒΆ

- R0: Join(Comparable, IntegralDomain, RetractableTo Integer)
- F: Join(AlgebraicallyClosedField, FunctionSpace R0)
- R: FunctionFieldCategory(F, SparseUnivariatePolynomial F, SparseUnivariatePolynomial Fraction SparseUnivariatePolynomial F)

undocumented

- algextint: (SparseUnivariatePolynomial F -> SparseUnivariatePolynomial F, List Fraction SparseUnivariatePolynomial F -> List Record(ratpart: Fraction SparseUnivariatePolynomial F, coeffs: Vector F), (Fraction SparseUnivariatePolynomial F, List Fraction SparseUnivariatePolynomial F) -> List Record(ratpart: Fraction SparseUnivariatePolynomial F, coeffs: Vector F), Matrix F -> List Vector F, List R) -> List Record(ratpart: R, coeffs: Vector F)
`algextint(der, ext, rde, csolve, [g1, ..., gn])`

returns a basis of solutions of the homogeneous system`h' + c1*g1 + ... + cn*gn = 0`

. Argument`ext`

is an extended integration function on`F`

,`rde`

is RDE solver,`csolve`

is linear solver over constants.

- algextint_base: (SparseUnivariatePolynomial F -> SparseUnivariatePolynomial F, Matrix F -> List Vector F, List R) -> List Record(ratpart: R, coeffs: Vector F)
`algextint_base(der, csolve, [g1, ..., gn])`

is like algextint(`der`

, ext, rde,`csolve`

, [`g1`

, ...,`gn`

]), but assumes that field is algebraic extension of rational functions and that`gi`

-`s`

have no poles at infinity.