compute a super-irreducible form of a linear differential system
compute a Moser-irreducible form of a linear differential system
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)
square matrix with rational function entries
independent variable of the system Y⁢' =A⁡x⁢Y
irreducible polynomial in x or the symbol infinity
Consider the linear differential system
For a rational function matrix S with det⁡S≠0 the transformation
leads to a new system Z'=B⁢Z. One has
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](..).
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
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':
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':
Check whether the matrix T is the correct transformation matrix:
map⁡normal,evalm⁡B1−invT &* A &* T−map⁡diff,eval⁡T,x
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
B ≔ super_reduce⁡A,x,x2+1,u,'T','invT':
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.
Download Help Document