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)