riccati.spad line 1 [edit on github]
In-field solution of Riccati equations, primitive case.
changeVar(+/[
returns the operator ai
D^i], a)+/[
.ai
(D+a)^i
]
changeVar(+/[
returns the operator ai
D^i], a)+/[
.ai
(D+a)^i
]
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
is ai
. Li
z = 0ric
is a Riccati equation solver over F
, whose input is the associated linear equation.
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(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(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 =0zeros
is a zero finder in UP
.
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=0zeros(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.