ElementaryRischDEX2(R, F)

rdeefx.spad line 345 [edit on github]

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/dx = 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).