RISCH
and EXPA
.
The RISCH
program accepts functions as input and
(tries to) return the primitive. EXPA
should be called for
symbolic expressions which contains the PRIMIT
.
The variable ERABLEMSG
contains additionnal information
if RISCH
returns an unevaluated antiderivative (with a
Some examples for RISCH
:
RISCH
program must sometimes be used in conjunction
with the TSIMP
function to get ``weak normalization''. If you
get No closed form
in ERABLMSG
, try TSIMP
and
RISCH
again, if you get again the message No closed form
,
this does not mean that RISCH
failed, but that your input does
not admit an antiderivative which may be expressed in terms of elementary
functions.
RISCH
is only a partial
implementation of the Risch algorithm: it works with pure transcendental
extensions (i.e. square root are generically not allowed),
and exponential polynomial parts must not contain logarithms or
other exponentials.
Examples:
In addition to this partial implementation, RISCH
can integrate
fractions of the type
.
VX
is set to X
,
evaluation of:
For integrals with bounds, the right instruction is EXPA
.
Example of EXPA
usage (in real and symbolic mode):
RISCH
,
you can evaluate it between two bounds using PREVAL
. Arguments
of PREVAL
are a function f(x) at level 3, lower and upper
bounds a and b at level 2 and 1. It returns f(b)-f(a) (x
is the variable contained in VX
).
EXPA
does not detect discontinuities of the antiderivative.
It blindly computes the value at both end of the integration interval
(by a call to LIMIT
, hence infinite bounds are allowed)
and returns the difference.
For example,