Linear differential systems
function:exp_parts
FUNCTION: exp_parts - compute a set of admissible exponential parts of a
system of linear differential equations
CALLING SEQUENCE:
exp_parts(A, x, t [, opts])
exp_parts(A, x = x_0, t [, opts])
PARAMETERS:
A - a square matrix containing rational functions with coefficients in
the rationals or an algebraic extension of the rationals
x - a name
x_0 - a rational or an algebraic number or infinity
t - a name
opts - (optional) a set of options
SYNOPSIS:
The exp_parts function computes a list of admissible exponential parts of a
linear differential system at the point x_0. These are polynomials in
1/x L[1/t] where L is an algebraic extension of the constant coefficient
field of A and t^r = x-x_0 for a positive integer r (the ramification).
If x_0 = infinity, the relation t^r = 1/x holds.
The name t is used for the parametrization of the output, which is a list of
pairs of the form [x = ct^r, w] where r is the ramification of w and c is
a rational or algebraic number. This stands for r exponential parts which can
be computed by solving for t and substituting in w.
If opts contains the name 'ram1', only exponential parts with r = 1 are
computed. If opts contains the name 'minimal', the exponential part of
ramification 1 are computed up to equivalence. Only the minimal representants
appear in the output. This means that from the roots of the indicial equation
differing by integers only the minimal is chosen. If opts contains the name
'super' the used algorithm is based on the notion of super-irreducible forms
of linear differential systems and a generalization of the method described
in [2]. If opts contains the name 'Moser', the algorithm uses the Moser-
algorithm and block-diagonalization techniques, see [1].
Note that all computed exponential parts are admissible exponential parts,
which means that they are equivalent to the generalized exponents, and
the difference between the residues of the generalized exponents and the
residues of the computed admissible exponential parts are positive rationals.
REFERENCES:
[1] M.A. Barkatou "An algorithm to compute the exponential part of a formal
fundamental matrix solution of a linear differential system."
Journal of App. Alg. in Eng. Comm. and Comp., 8(1):1--23, 1997.
[2] E. Pfluegel. "An Algorithm for Computing Exponential Solutions of First
Order Linear Differential Systems". In: Proceedings of ISSAC '97,
W.Kuechlin Editor, ACM Press, 1997.
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]):
> exp_parts(A,x,t);
2
RootOf(_Z + 15) 2 1 1
[[x = t, ----------------], [x = 15 t , 1/15 ---- - 1/4 ----]]
t 3 2
t t
> exp_parts(A,x=1,t);
4 219 6 19
[[x - 1 = t, - ---- - --- 1/t], [x - 1 = t, ---- - -- 1/t],
2 80 2 20
t t
2 1 83 1
[x - 1 = - 9/4 t , - 4/9 ---- - -- ----]]
3 72 2
t t
A:=
array(1 .. 3, 1 .. 3,[(2, 3)=2/(x+2),(2, 1)=(-4+4*x^2)/(x+2)^6,(2, 2)=(1-5*x^3
)/(x+2)^6,(1, 2)=-1,(3, 1)=3/(x+2)^6,(1, 3)=(-2*x^2-4*x^3)/(x+2)^6,(1, 1)=(5-4
*x^2)/(x+2)^4,(3, 2)=1/(x+2),(3, 3)=(-3*x+5*x^2)/(x+2)^5]):
> exp_parts(A,x=-2,t);
22787 2 83 2
- ----- RootOf(_Z - 72) - 2 - --- RootOf(_Z - 72) + 21/2
13824 864
[[x + 2 = t, ---------------------------- + -----------------------------
2 3
t t
185 2
-17 + --- RootOf(_Z - 72) 2
144 - 5/6 RootOf(_Z - 72) + 13
+ -------------------------- + ---------------------------
4 5
t t
144 192874543 2
2 - ---- - --------- RootOf(_Z - 72)
RootOf(_Z - 72) 1609 400370688
+ ---------------- + -----------------------------------],
6 t
t
5 30 60 41 288
[x + 2 = t, - ---- + ---- - ---- + ---- + ---- 1/t]]
3 4 5 6 1609
t t t t