Linear differential systems
function:rho_reduce
FUNCTION: formal_reduce - compute a factorization of a system of linear
differential equations with power series coefficients
into rho-irrducible systems
CALLING SEQUENCE:
rho_reduce(M, x, lambda)
PARAMETERS:
M - a symbol representing a formal power series matrix in the variable x
x - a name
lambda - a name
SYNOPSIS:
This function reduces the system Y'=MY into systems being rho-irreducible.
The transformations used are meromorphic power series matrices in the
variable x.
A rho-irreducible system can be characterised in terms of exponential parts
in the following way: it has either only exponential parts of the same
integer valuation -q-1 where q is the Poincare-rank of the system, or all
valuations of the exponential parts are rational numbers lying strictly
between -q-1 and -q. In terms of Newton polygon, the Newton polygon of a
rho-irreducible system has either only one integer slope q ot several
rational slopes lying strictly between q-1 and q.
The input for the rho_reduce function is a symbol M which stands for a
formal power series matrix. Use the mat_convert function in order to convert
a given matrix over the rational functions into a local matrix series at a
given point.
The output is a list of 3-tuples [q, Ai,P] where Ai stands for a system with
formal power series coefficients of Poincare-rank q and the characteristic
polynomial of the leading matrix equals P.
EXAMPLES:
A:=
array(1 .. 4, 1 .. 4,[(1, 1)=2/x/(x-1),(3, 3)=6/(x-1)^2,(2, 2)=-5/x,(1, 4)=-2
/(x-1)^2,(1, 2)=3/x/(x-1)^2,(2, 4)=2,(4, 1)=-6/(x-1),(1, 3)=3/(x-1)^2,(2,
3)=(-
2+5*x)/x^2/(x-1)^2,(4, 3)=5/x,(3, 4)=(2*x-3)/x/(x-1)^2,(4, 2)=-2/(x-1),(3,
1)=-
5,(4, 4)=-4/(x-1)^2,(3, 2)=-3/(x-1),(2, 1)=5/x^2]);
[ 2 3 3 2 ]
[---------- ----------- --------- - ---------]
[x (-1 + x) 2 2 2]
[ x (-1 + x) (-1 + x) (-1 + x) ]
[ ]
[ 5 -2 + 5 x ]
[ ---- - 5/x ------------ 2 ]
[ 2 2 2 ]
[ x x (-1 + x) ]
A := [ ]
[ 3 6 2 x - 3 ]
[ -5 - ------ --------- -----------]
[ -1 + x 2 2]
[ (-1 + x) x (-1 + x) ]
[ ]
[ 6 2 4 ]
[ - ------ - ------ 5/x - ---------]
[ -1 + x -1 + x 2]
[ (-1 + x) ]
> M := mat_convert(A, x, 1);
M := A8
> rho_reduce(M,x,lambda);
2
[[1, lambda , A58], [1, (lambda + 4) (lambda - 6), A61]]
> mat_eval(A58,x,-2,-1);
[ 3 45 ]
[17/4 1/x ---- - -- 1/x]
[ 2 16 ]
[ x ]
[ ]
[ 23 ]
[- 3/4 1/x -- 1/x ]
[ 16 ]
> M := mat_convert(A, x, 0);
M := A32
> rho_reduce(M,x,lambda);
2 2
[[0, -lambda - 15, A68], [1, lambda , A72]]
> mat_eval(A68,x,-1,-1);
[ 15/2 1/x 75/4 1/x ]
[ ]
[- 19/5 1/x - 15/2 1/x]
> formal_reduce(A72,x);
1 17 1
[[1/15 ---- - -- ----, A82]]
3 60 2
x x