# GenusZeroIntegration(R, F, L)¶

- R: Join(GcdDomain, RetractableTo Integer, Comparable, CharacteristicZero, LinearlyExplicitOver Integer)
- F: Join(FunctionSpace R, AlgebraicallyClosedField, TranscendentalFunctionCategory)
- L: SetCategory

This internal package rationalises integrands on curves of the form: `y\^2 = a x\^2 + b x + c`

`y\^2 = (a x + b) / (c x + d)`

`f(x, y) = 0`

where `f`

has degree 1 in `x`

The rationalization is done for integration, limited integration, extended integration and the risch differential equation.

- lift: (SparseUnivariatePolynomial F, Kernel F) -> SparseUnivariatePolynomial Fraction SparseUnivariatePolynomial F
`lift(u, k)`

undocumented

- multivariate: (SparseUnivariatePolynomial Fraction SparseUnivariatePolynomial F, Kernel F, F) -> F
`multivariate(u, k, f)`

undocumented

- palgint0: (F, Kernel F, Kernel F, F, SparseUnivariatePolynomial F) -> IntegrationResult F
`palgint0(f, x, y, d, p)`

returns the integral of`f(x, y)dx`

where`y`

is an algebraic function of`x`

satisfying`d(x)\^2 y(x)\^2 = P(x)`

.

- palgint0: (F, Kernel F, Kernel F, Kernel F, F, Fraction SparseUnivariatePolynomial F, F) -> IntegrationResult F
`palgint0(f, x, y, z, t, c)`

returns the integral of`f(x, y)dx`

where`y`

is an algebraic function of`x`

satisfying`x = eval(t, z, ry)`

and`c = d/dz t`

;`r`

is rational function of`x`

,`c`

and`t`

are rational functions of`z`

. Argument`z`

is a dummy variable not appearing in`f(x, y)`

.

- palgLODE0: (L, F, Kernel F, Kernel F, F, SparseUnivariatePolynomial F) -> Record(particular: Union(F, failed), basis: List F) if L has LinearOrdinaryDifferentialOperatorCategory F
`palgLODE0(op, g, x, y, d, p)`

returns the solution of`op f = g`

. Argument`y`

is an algebraic function of`x`

satisfying`d(x)\^2y(x)\^2 = P(x)`

.

- palgLODE0: (L, F, Kernel F, Kernel F, Kernel F, F, Fraction SparseUnivariatePolynomial F, F) -> Record(particular: Union(F, failed), basis: List F) if L has LinearOrdinaryDifferentialOperatorCategory F
`palgLODE0(op, g, x, y, z, t, c)`

returns the solution of`op f = g`

. Argument`y`

is an algebraic function of`x`

satisfying`x = eval(t, z, ry)`

and`c = d/dz t`

;`r`

is rational function of`x`

,`c`

and`t`

are rational functions of`z`

.

- palgRDE0: (F, F, Kernel F, Kernel F, (F, F, Symbol) -> Union(F, failed), F, SparseUnivariatePolynomial F) -> Union(F, failed)
`palgRDE0(f, g, x, y, foo, d, p)`

returns a function`z(x, y)`

such that`dz/dx + n * df/dx z(x, y) = g(x, y)`

if such a`z`

exists, and “failed” otherwise. Argument`y`

is an algebraic function of`x`

satisfying`d(x)\^2y(x)\^2 = P(x)`

. Argument`foo`

, called by`foo(a, b, x)`

, is a function that solves`du/dx + n * da/dx u(x) = u(x)`

for an unknown`u(x)`

not involving`y`

.

- palgRDE0: (F, F, Kernel F, Kernel F, (F, F, Symbol) -> Union(F, failed), Kernel F, F, Fraction SparseUnivariatePolynomial F, F) -> Union(F, failed)
`palgRDE0(f, g, x, y, foo, t, c)`

returns a function`z(x, y)`

such that`dz/dx + n * df/dx z(x, y) = g(x, y)`

if such a`z`

exists, and “failed” otherwise. Argument`y`

is an algebraic function of`x`

satisfying`x = eval(t, z, ry)`

and`c = d/dz t`

;`r`

is rational function of`x`

,`c`

and`t`

are rational functions of`z`

. Argument`foo`

, called by`foo(a, b, x)`

, is a function that solves`du/dx + n * da/dx u(x) = u(x)`

for an unknown`u(x)`

not involving`y`

.

- rationalize_ir: (IntegrationResult F, Kernel F) -> IntegrationResult F
`rationalize_ir(irf, k1)`

eliminates square root`k1`

from the integration result.

- univariate: (F, Kernel F, Kernel F, SparseUnivariatePolynomial F) -> SparseUnivariatePolynomial Fraction SparseUnivariatePolynomial F
`univariate(f, k, k, p)`

undocumented