LinearFunctionalSystems - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : Factorization and Solving Equations : LinearFunctionalSystems : LinearFunctionalSystems/RegularSolution





return the regular solution of a linear system of differential equations


Calling Sequence




Calling Sequence

RegularSolution(sys, vars, opts)

RegularSolution(A, x, case, opts)




list of equations; linear differential system



list of function variables such as [y1(x), y2(x), ...]; variables to solve for



matrix with rational elements



independent variable



'differential'; indicates the case of the system



(optional) expression of the form 'point'=p where p is a point at which the solution is to be found



The RegularSolution function returns the initial terms of the regular solutions of the specified linear differential system of equations with polynomial coefficients. If such a solution does not exist, then NULL is returned.


The system parameter is entered either in list form (a list of equations sys and a list of function variables vars to solve for), or in matrix form (matrix A and the independent variable x).


The matrix form specifies the system Lyx=Ayx, where L is the differential operator, yx is the vector of the functions to solve for, and A is a rational matrix.


For the matrix form of the calling sequence, the case of the system must be specified as 'differential'.


The regular solutions of the differential system around x=p are of the form xpλm=0kgmxplogxpm where λ is an algebraic number and the gmxp are Laurent series such that gmp0. Those solutions form a basis of all the solutions in a neighborhood of x=p whenever it is a regular singularity.


The function returns the solutions with the Laurent series involved (gmx) being represented as series expansions in x (or in x-p if the option 'point'=p is specified). The order term (for example Ox6) is the last term in the series. The function's output is the list of solutions in this form, corresponding to vars.


The solution involves arbitrary constants of the form _c1, _c2, etc.


The solution has an attribute which is a table with the following indices:

'initial'      - the initial terms of solutions' components

'recurrence'   - the recurrences corresponding to solutions' components

'variable'     - the independent variable of the given system

'functions'    - the independent functions to solve for

'operators'    - the operators corresponding to solutions' components

'point'        - the point at which to find a solution


Note: This data is used by LinearFunctionalSystems[ExtendRegularSolution] in order to extend the number of computed initial terms.


If the option 'point'=p is specified, the function first translates the system to the point p by a change of the independent variable. Then the function computes all possible λ involved in regular solutions. For each λ, initial terms of the involved Laurent series (gmx) are computed successively by the orders of logarithmic terms (starting from (log(x)^0) and ending by the moment the Laurent series corresponding to (log(x)^(k+1)) does not exist). In such a way computing those solutions is by reducing the problem to the search for Laurent series solutions of inhomogeneous systems with the same left hand side and with different Laurent right-hand sides. This problems are solved using the matrix recurrence systems corresponding to the given differential systems. The recurrence systems are different only in right hand side as well. The recurrence systems are regularized using LinearFunctionalSystems[MatrixTriangularization] in order to bound the number of the initial terms of the solution in such a way that the recurrences for the remaining terms' coefficients have an invertible leading matrix and then builds these initial terms. If the option 'point'=p is specified, the found solution is then transformed by the inverse change of variable.


The error conditions associated with RegularSolution are the same as those which are generated by LinearFunctionalSystems[Properties] and the following:

1. Regular solutions are to be found only for homogeneous systems

2. Regular solutions are to be found only for differential systems


This function is part of the LinearFunctionalSystems package, and so it can be used in the form RegularSolution(..) only after executing the command with(LinearFunctionalSystems). However, it can always be accessed through the long form of the command by using the form LinearFunctionalSystems[RegularSolution](..).



sys := [x^4*diff(y1(x),`$`(x,3))+4*x^3*diff(y1(x),`$`(x,2))+
2*x^2*diff(y1(x),x)-2*y2(x)*x-3*y2(x) = 0,
diff(y2(x),x) = 0];



vars := [y1(x), y2(x)]:

RegularSolution(sys, vars);



A := Matrix(3,3,[[(1-x^2)/x^3,1/x,(1+x+x^3)/x^3],[x,0,(1+x^3)/x],[x^2,-1,1/x]]);






sys := [x^3*diff(y1(x),x)-(1-x^2)*y1(x)-x^2*y2(x)-(1+x+x^3)*y3(x)=0,



vars := [y1(x), y2(x),y3(x)]:

RegularSolution(sys, vars);



RegularSolution(sys, vars, 'point'=1);



See Also