DEtools
super_reduce
compute a super-irreducible form of a linear differential system
moser_reduce
compute a Moser-irreducible form of a linear differential system
Calling Sequence
Parameters
Description
Examples
References
super_reduce(A, x, p, u)
super_reduce(A, x, p, u, T, invT)
moser_reduce(A, x, p, u)
moser_reduce(A, x, p, u, T, invT)
A
-
square matrix with rational function entries
x
independent variable of the system Y⁢' =A⁡x⁢Y
p
irreducible polynomial in x or the symbol infinity
u
name
T
invT
Consider the linear differential system
Y⁢' =A⁡x⁢Y
For a rational function matrix S with det⁡S≠0 the transformation
Y=S⁢Z
leads to a new system Z'=B⁢Z. One has
B=AS−ⅆSⅆxS
The matrices A and B are said to be equivalent.
The super_reduce function computes a matrix B equivalent to A in a special form, called super-irreducible at p. The output is a list of two elements. The first is the super-irreducible matrix; the second gives information about the integer slopes and Newton polynomials of the Newton polygon of the computed system. It is a list of couples, the first element of which is an integer (the slope) and the second a polynomial in u (the Newton polynomial associated with the slope).
The moser_reduce function computes a matrix B equivalent to A which is Moser-irreducible at p. This is an equivalent matrix of minimal pole order. The output is similar to the super_reduce function, but only the Newton polynomials associated with the two biggest slopes are returned.
If T and invT are passed as arguments, they are assigned to the transformation matrix T and their inverse which transforms A to the super-irreducible (Moser-irreducible) matrix.
These functions are part of the DEtools package, and so they can be used in the form super_reduce(..) and moser_reduce(..) only after executing the command with(DEtools). However, they can always be accessed through the long form of the command by using DEtools[super_reduce](..) or DEtools[moser_reduce](..).
with⁡DEtools:
Consider the following matrix:
A≔array⁡1..4,1..4,2,1=0,3,2=−6x4,2,4=−1x2,4,2=3−2⁢xx3,1,3=5+2⁢xx3,4,1=−4x2,4,3=1,4,4=2x2,1,1=−1,2,2=−1,2,3=0,1,4=4⁢x2−2⁢xx4,3,3=−1,3,1=8x3,1,2=1x,3,4=2x2
A≔−11x5+2⁢xx34⁢x2−2⁢xx40−10−1x28x3−6x4−12x2−4x23−2⁢xx312x2
The pole order of this matrix at the point x=0 is 4. The Moser algorithm computes an equivalent matrix of minimal pole order.
B≔moser_reduce⁡A,x,x,u,T,invT:
B1
−7⁢x+63⁢x−−5+16⁢x3⁢x3−24x2−4⁢4⁢x+39⁢x2−2⁢x2−3⁢x−24x3−6+xx25⁢x2−24x2−83⁢x2−6x32x2−x2+x−8x20x2⁢2⁢x−1x23⁢6⁢x−1x213
Here, the pole order is now 3. The super reduction algorithm computes a matrix which is Moser-irreducible and moreover the minimum of the valuations of each column (or equivalently, each row) is minimal. This also gives as additional information the integer slopes of the Newton polygon and the associated Newton polynomials.
B≔super_reduce⁡A,x,x,u,T,invT:
print⁡B1
B2
0,1,1,−u2+2⁢u+2,2,u2−40
Check whether the matrix T is the correct transformation matrix:
map⁡normal,evalm⁡B1−invT&*A&*T−map⁡diff,eval⁡T,x
0000000000000000
If p is an irreducible polynomial, the computations are done for all roots of p simultaneously. The transformation matrices and hence the transformed matrix do not involve algebraic extensions over the ground field.
A≔array⁡1..4,1..4,2,1=0,3,2=0,2,4=7x2+12,4,2=3x2+12,1,3=−6x2+1,4,1=0,4,3=−3⁢x2x2+13,4,4=1,1,1=1,2,2=4x2+1,2,3=0,1,4=9x2+1,3,3=1,3,1=−5⁢x−3x2+12,1,2=0,3,4=0
A≔10−6x2+19x2+104x2+107x2+12−5⁢x−3x2+1201003x2+12−3⁢x2x2+131
B≔super_reduce⁡A,x,x2+1,u,T,invT:
x2−2⁢x+1x2+1−5⁢x+3x2+127x2+12−x2−2⁢x−3x2+1−6x2+1x2−2⁢x+1x2+19x2+126x2+1−3⁢x2x2+12013x2+1007x2+124x2+1
Pfluegel, E. "An Algorithm For Computing Exponential Solutions of First Order Linear Differential Systems." In Proceedings of ISSAC '97, pp. 164-171. Edited by Wolfgang Kuchlin. New York: ACM Press, 1997.
See Also
Download Help Document