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

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.