Subject: Ordinary differential equations in Maxima
From: Edmond Orignac
Date: Mon, 01 May 2006 22:08:55 +0200
Hello all,
I am using maxima 5.9.3, built on CMUCL on Linux (Debian).
I have noticed a few oddities in the packages for differential
equations in Maxima.
First, the ode2 package in maxima is able to solve the differential
equations for the Bessel functions. However, it is expressing the
solution (for integer n) using k1*%j[n](x)+k2*%y[n](x), whereas the
bessel package is using bessel_j(n,x) and bessel_y(n,x) to represent
these functions. This can probably be easily corrected by putting
the names for these functions in ode2.mac.
Second, whereas the ode2 package can solve the differential equation
for the Bessel functions, it cannot solve the ones defining the modified
Bessel functions or the Struve functions. Maybe it is possible to add
this capability to ode2.mac by slightly extending the solver to deal
with these particular cases.
Third, I have noticed the existence of a differential equations
package, in the share/diffequations
directory comprising the files pmain.mac, phygm.mac, odeaux.mac,
pdvtr.mac, pivtr.mac. This package does not seem to be documented.
odeaux seems to be loading various packages to solve differential
equations.
However, if loaded in maxima it is causing an error message caused
by the line:
FOR I IN ODE_ROUTINELIST DO APPLY('setup_AUTOLOAD,I)),
sstatus(feature,"ode")))$
maxima complains that "\n FOR I is not an infix operator".
the package pmain is trying to solve the differential equation
by loading an appropriate pachage.
The package phypgm is
solving the hypergeometric differential equation and the Legendre
equation.
For instance after loading phypgm, typing:
x*(1-x)*'diff(y,x,2)+(c-(a+b+1))*'diff(y,x)-a*b*y=0;
lode2(%o5);
gives a solution in terms of Riemann's P-function (though
I am unsure about the correctness of the coefficients).
Does anyone have some experiene with these differential equation
packages ?