# PrimitiveRatRicDE(F, UP, L, LQ)ΒΆ

- F: Join(Field, CharacteristicZero, RetractableTo Fraction Integer)
- UP: UnivariatePolynomialCategory F
- L: LinearOrdinaryDifferentialOperatorCategory UP
- LQ: LinearOrdinaryDifferentialOperatorCategory Fraction UP

In-field solution of Riccati equations, primitive case.

- changeVar: (L, Fraction UP) -> L
`changeVar(+/[ai D^i], a)`

returns the operator`+/[ai (D+a)^i]`

.

- changeVar: (L, UP) -> L
`changeVar(+/[ai D^i], a)`

returns the operator`+/[ai (D+a)^i]`

.

- constantCoefficientRicDE: (L, UP -> List F) -> List Record(constant: F, eq: L)
`constantCoefficientRicDE(op, ric)`

returns`[[a1, L1], [a2, L2], ... , [ak, Lk]]`

such that any rational solution with no polynomial part of the associated Riccati equation of`op y = 0`

must be one of the`ai`

`'s`

in which case the equation for`z = y e^{-int ai}`

is`Li z = 0`

.`ric`

is a Riccati equation solver over`F`

, whose input is the associated linear equation.

- denomRicDE: L -> UP
`denomRicDE(op)`

returns a polynomial`d`

such that any rational solution of the associated Riccati equation of`op y = 0`

is of the form`p/d + q'/q + r`

for some polynomials`p`

and`q`

and a reduced`r`

. Also,`deg(p) < deg(d)`

and {`gcd`

(`d`

,`q`

) = 1}.

- leadingCoefficientRicDE: L -> List Record(deg: NonNegativeInteger, eq: UP)
`leadingCoefficientRicDE(op)`

returns`[[m1, p1], [m2, p2], ... , [mk, pk]]`

such that the polynomial part of any rational solution of the associated Riccati equation of`op y = 0`

must have degree`mj`

for some`j`

, and its leading coefficient is then a zero of`pj`

. In addition,`m1>m2> ... >mk`

.

- polyRicDE: (L, UP -> List F) -> List Record(poly: UP, eq: L)
`polyRicDE(op, zeros)`

returns`[[p1, L1], [p2, L2], ... , [pk, Lk]]`

such that the polynomial part of any rational solution of the associated Riccati equation of`op y=0`

must be one of the`pi`

`'s`

(up to the constant coefficient), in which case the equation for`z=y e^{-int p}`

is`Li z =0`

.`zeros`

is a zero finder in`UP`

.

- singRicDE: (L, (UP, SparseUnivariatePolynomial UP) -> List UP, UP -> Factored UP) -> List Record(frac: Fraction UP, eq: L)
`singRicDE(op, zeros, ezfactor)`

returns`[[f1, L1], [f2, L2], ... , [fk, Lk]]`

such that the singular part of any rational solution of the associated Riccati equation of`op y=0`

must be one of the`fi`

`'s`

(up to the constant coefficient), in which case the equation for`z=y e^{-int p}`

is`Li z=0`

.`zeros(C(x), H(x, y))`

returns all the`P_i(x)`

`'s`

such that`H(x, P_i(x)) = 0 modulo C(x)`

. Argument`ezfactor`

is a factorisation in`UP`

, not necessarily into irreducibles.