# ElementaryRischDEX2(R, F)ΒΆ

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

Risch differential equation, wrapper for extended version.

- do_param_RDE: (F, F, List F, Symbol, List Kernel F) -> Union(Record(ratpart: F, coeffs: Vector F), failed)
`do_param_RDE(f, h, lg, x, lk)`

solves parametric Risch differential equation, that is returns`[y, [c1, ..., ck]]`

such that dy/dx +`n`

df/dx`y`

+`c1`

`g1`

+ ...`cn`

`gn`

=`h`

where`y`

is in the is in field generated by`lk`

and`ci`

are constants or “failed” if there is no solution.

- do_risch_DE: (F, F, Symbol, List Kernel F) -> Record(ans: F, right: F, primpart: F, sol?: Boolean)
`do_risch_DE(f, g, x, lk)`

returns`[y, h, 0, b]`

such that`dy/dx + df/dx y = h`

and`b := h = g`

. The equation`dy/dx + df/dx y = g`

has no solution in the field generated by`lk`

if`h \~~= g`

(`y`

is a partial solution in that case).

- risch_de_ext: (Integer, F, F, Symbol) -> Record(ans: F, right: F, primpart: F, sol?: Boolean)
`risch_de_ext(n, f, g, x)`

returns`[y, h, p, b]`

such that`dy/dx + n df/dx y + exp(-nf)dp = h`

and`b := h = g`

. The equation`dy/dx + n df/dx y = g`

has no solution if`h \~~= g`

(`y`

is a partial solution in that case).