Linear Differential Systems

Function:cr_factor

FUNCTION: cr_factor - compute factorizations of completely reducible systems
of linear differential equations

CALLING SEQUENCE:
cr_factor(A, x)
cr_factor(A, x, T)

PARAMETERS:
A - a square rational function matrix with coefficients in an algebraic
extension of the rationals
x - a name
T - (optional) a square matrix of same dimension as A containing
parametrized rational functions


SYNOPSIS:
The function cr_factor can be applied to a system of linear differential
equations which is completely reducible. It computes a list of
factorizations by the eigenring-method.

The call cr_factor(A, x) computed first the eigenring of Y'=AY and uses
this in a second step in order to find factorizations. The output is a
list of lower block-triangular matrices.

If the eigenring is already known ans stored in the matrix T, this can used
to speed up the factorization: the call cr_factor(A, x, T) will use T for
the second step of the algorithm. This is also a way how to choose
particular elements of the eigenring for the factorization.



EXAMPLES:


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


[ 0 1 0 0 ]
[ ]
[ 0 0 1 0 ]
[ ]
[ 0 0 0 1 ]
C := [ ]
[ 2 2 ]
[ 1 3 x - 1 x - 1 ]
[- ---- 2 -------- -2 ------ - 6/x]
[ 8 5 4 ]
[ x x x ]


> T := eigenring(C,x);

[ 3 4 5]
[ _C2 + 7 _C1 -2 _C1 x - _C1 x _C1 x _C1 x ]
[ ]
[ _C1 ]
[ - --- 4 _C1 + _C2 _C1 x 0 ]
[ 3 ]
[ x ]
[ ]
T := [ _C1 _C1 ]
[ 3 --- - --- 5 _C1 + _C2 _C1 x ]
[ 4 3 ]
[ x x ]
[ ]
[ 2 2 2 ]
[ _C1 (12 x + 1) _C1 (3 x + 2) _C1 (2 x - 1) ]
[- --------------- 2 -------------- - -------------- _C2 ]
[ 7 4 3 ]
[ x x x ]



> cr_factor(C,x,T);

[

[ 1 ]
[------------ , 1 , 0 , 0]
[ 3 ]
[x (-7 + %1) ]

[ 4 2 ]
[ -1 + %1 42 x + (2 - 2 %1) x + 1 - %1 ]
[--------------- , ------------------------------ , 0 , 0]
[ 6 5 3 ]
[(-49 + 7 %1) x (84 - 21 %1) x - 7 x ]

[0 , 0 , 0 , 1]

[ 4 2
[ 1 (294 - 42 %1) x + (-112 + 14 %1) x - 7
[------------ , ---------------------------------------- ,
[ 8 7 5
[x (-7 + %1) (84 - 21 %1) x - 7 x

6 4 2
(16464 %1 - 98784) x + (-12348 %1 + 65856) x - 1372 x
-------------------------------------------------------- ,
8 6
(16464 - 4116 %1) x - 1372 x

4 2]
(12348 %1 - 53508) x + (-686 %1 + 8232) x ]]
-------------------------------------------]
5 3 ]
(8232 - 2058 %1) x - 686 x ]

2
%1 := RootOf(-8 _Z + _Z + 14)