Linear differential systems

function:expsolde

FUNCTION: expsolde - compute the exponential solutions of a system of linear
differential equations or a scalar nth order linear
differential equation


CALLING SEQUENCE:
expsolde(eq, y [, opts])
expsolde(f, Y, X [, opts])
expsolde(A, x [, opts])
expsolde(A, x, [, opts])

PARAMETERS:
eq - a linear differential equation in y
y - the searched function of the type f(x)
f - a polynomial in X and Y
X - a name
Y - a name
A - a square rational function matrix with coefficients in an algebraic
extension of the rationals
x - name
opts - a set of options


SYNOPSIS:
The call expsolde(A, x) computes the set of solutions of the form
exp(int(u))*P where u is a rational function over the coefficient field
of A and P is a polynomial vector.

The call expsolde(eq, y) or expsolde(f, Y, X) computes the set of solutions
of the scalar nth order linear differential equation of the form
exp(int(u))*p where u is a as above and p is a scalar polynomial. Note
that the equation is transformed to a first order system and then the
algorithm for systems is applied. This is in general less efficient then
a direct resolution.

If the optional parameter opts contains RootOfs, the coefficients of u, P
and p are searched in the field generated by the coefficient field and the
field extension described by these RootOfs.

If opts contains the name 'basis', the output is given as a set of basis
elements. Otherwise, the output contains arbitrary constants which
parametrize the solution space.

A alternative syntax for scalar differential equations is the representation
as differential polynomial in two variables X and Y, where Y stands for the
differentiation d/dX.



EXAMPLES:


S:=
array(1 .. 6, 1 .. 6,[(6, 3)=-2*(-3+x)/(-1+x)/x^2,(4, 2)=4*(-2+x)/(-1+x)/x^2,(
2, 2)=2*(2*x-1)/(-1+x)/x,(2, 3)=1/x*(2*x^2+1)/(-1+x),(5, 1)=0,(1, 6)=0,(5, 2)=
-(-3+x)/(-1+x)/x^2,(4, 6)=0,(3, 1)=-(-3+x)/(-1+x)/x^2,(5, 5)=(3-4*x+2*x^2)/(-1
+x)/x^2,(4, 4)=2*(4-3*x+3*x^2)/(-1+x)/x^2,(6, 6)=-2*(x^2+1+x)/(-1+x)/x^2,(1, 1
)=2*(-4+x+x^2)/(-1+x)/x^2,(2, 4)=4/(-1+x)/x^2,(6, 5)=-8/(-1+x)/x^2,(4, 5)=2/x*
(2*x^2+1)/(-1+x),(1, 2)=8/(-1+x)/x^2,(3, 6)=1/x*(2*x+1)/(-1+x),(2, 1)=2*(-2+x)
/(-1+x)/x^2,(1, 3)=2/x*(2*x+1)/(-1+x),(5, 3)=2*(-2+x)/(-1+x)/x^2,(1, 4)=0,(4,
1)=0,(4, 3)=0,(2, 6)=0,(6, 4)=0,(1, 5)=0,(6, 1)=0,(3, 5)=4/(-1+x)/x^2,(5, 4)=-
4/(-1+x)/x^2,(2, 5)=1/x*(2*x+1)/(-1+x),(6, 2)=0,(3, 4)=0,(3, 2)=-4/(-1+x)/x^2,
(5, 6)=1/x*(2*x^2+1)/(-1+x),(3, 3)=-5/(-1+x)/x^2]);

> expsolde(S,x);

/ 2
| -x + 2 + x
{exp( | - ----------- dx)
| 2
/ (x - 1) x

[ 3 3 2 3 2 ]
[_C[4] x , _C[4] x , -_C[4] x , _C[4] x , -_C[4] x , x _C[4]]}


C :=
array(1 .. 3, 1 .. 3,[(2, 3)=1/x*(2*x^2+1)/(-1+x),(1, 3)=1/x*(2*x+1)/(-1+x),(2
, 2)=(4-3*x+3*x^2)/(-1+x)/x^2,(1, 1)=(-4+x+x^2)/(-1+x)/x^2,(1, 2)=4/(-1+x)/x^2
,(2, 1)=2*(-2+x)/(-1+x)/x^2,(3, 2)=-4/(-1+x)/x^2,(3, 1)=-(-3+x)/(-1+x)/x^2,(3,
3)=-(x^2+1+x)/(-1+x)/x^2]):


> expsolde(C,x, 'basis');

/
| 1
{exp( | - ---------- dx) [-x, -x, 1]}
| 2
/ (x - 1) x

> ode := (3*x-1-2*x^2+x^4-x^3)*y(x)+(-2*
x^2+2*x^3-x^5)*diff(y(x),x)+(x^5-x^4)*diff(diff(y(x),x),x) = 0;
2 4 3 2 3 5 /d \node := (3 x - 1 - 2 x + x - x ) y(x) + (-2 x + 2 x - x ) |-- y(x)|
dx /

/ 2 \n 5 4 |d |
+ (x - x ) |--- y(x)| = 0
| 2 |
dx /



> expsolde(ode, y(x));

/ 2 /
| -1 + x - 2 x 2 | 1 + 2 x 3
{exp( | ------------- dx) x _C[1], exp( | - ------- dx) x _C[2]}
| 2 | 2
/ x / x

> f := -3+3*X*Y+(-24*X^2-60*X-36)*Y^2+(-12*X^3-40*X^2-44*X-16)*Y^3;
2 2 3 2 3
f := -3 + 3 X Y + (-24 X - 60 X - 36) Y + (-12 X - 40 X - 44 X - 16) Y


> expsolde(f,Y,X,'basis');

/
| 1 3 2
{exp( | - 5/2 ----- dX) (-4 X - 20 X - 28 X - 12),
| X + 1
/

/ /
| 1 2 |
exp( | - 5/2 ----- dX) (-2 X - 4 X - 2), exp( | 0 dX) X}
| X + 1 |
/ /