
Calling Sequence


SeriesSolution(sys, vars, method)
SeriesSolution(A, b, x, case, method)
SeriesSolution(A, x, case, method)


Parameters


sys



list of equations; linear functional system

vars



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

A



Matrix with rational elements

b



Vector with rational elements

x



independent variable

case



name indicating the case of the system; one of 'differential', 'difference', or 'qdifference'

method



(optional) name indicating the version of EGeliminations to use; one of 'quasimodular' or 'ordinary', the latter being the default





Description


•

The SeriesSolution function returns the initial terms of the formal series solutions from the specified linear functional system of equations with polynomial coefficients. If such a solution does not exist, then the empty list $\left[\right]$ 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, vector b, and the independent variable x, where the vector b is optional).


The matrix form specifies the system $\mathrm{Ly}\left(x\right)=\mathrm{Ay}\left(x\right)+b$, where L is the operator (either differential, difference, or qdifference), $y\left(x\right)$ is the vector of the functions to solve for, A is a rational matrix, and b is a rational vector (righthand side).


For the matrix from of the calling sequence, the case of the system must be specified as one of 'differential', 'difference', or 'qdifference'. If b is not specified, the system is assumed to be homogeneous.

•

The function computes the matrix recurrence system corresponding to the given system. This matrix recurrence system is represented by its explicit matrix (the matrix n by n*m, where n is the order of the system, with the leading and trailing matrix being of size n by n). Then, the function triangularizes the leading matrix 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 rest terms' coefficients have an invertible leading matrix and then builds these initial terms.

•

The solution is the list of series expansions in x, corresponding to vars. The order term (for example $\mathrm{O}\left({x}^{6}\right)$) is the last term in the series.


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 list of initial terms

'degree'



the formal degree of the initial terms

'recurrence'



the corresponding recurrence

'coefficients'



the coefficients of the initial terms in a proper basis (depending on the case)

'lead'



the leading shift of the recurrence

'trail'



the trailing shift of the recurrence

'variable'



the independent variable of the given system

'the_case'



'differential', 'difference' or 'qdifference'

'homogeneous'



true if the given system is homogeneous, false otherwise

'index'



the index of the last arbitrary constant

'q_par'



the q parameter used



•

This function is part of the LinearFunctionalSystems package, and so it can be used in the form SeriesSolution(..) 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[SeriesSolution](..).



Examples


>

with(LinearFunctionalSystems):

>

sys := [diff(y1(x), x)  y2(x),
diff(y2(x), x)  y3(x)  y4(x),
diff(y3(x), x)  y5(x),
diff(y4(x), x)  2*y1(x)  2*x*y2(x)  y5(x),
diff(y5(x), x)  x^2*y1(x)  2*x*y3(x)  y6(x),
diff(y6(x), x)  x^2*y2(x) + 2*y3(x)]:

>

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

>

SeriesSolution(sys, vars);

$\left[{3}{}{{\mathrm{\_c}}}_{{2}}{+}{{\mathrm{\_c}}}_{{5}}{+}{\mathrm{O}}{}\left({x}\right){\,}{3}{}{{\mathrm{\_c}}}_{{6}}{+}{{\mathrm{\_c}}}_{{3}}{+}{\mathrm{O}}{}\left({x}\right){\,}{}\frac{{{\mathrm{\_c}}}_{{4}}}{{2}}{+}{\mathrm{O}}{}\left({x}\right){\,}{{\mathrm{\_c}}}_{{1}}{+}\frac{{{\mathrm{\_c}}}_{{4}}}{{2}}{+}{\mathrm{O}}{}\left({x}\right){\,}{}{{\mathrm{\_c}}}_{{5}}{+}{\mathrm{O}}{}\left({x}\right){\,}{{\mathrm{\_c}}}_{{3}}{+}{\mathrm{O}}{}\left({x}\right)\right]$
 (1) 
>

sys := [y2(x)*x^2 + 3*y2(x)*x + 2*y2(x)  2*y1(x)*x^2  4*y1(x)*x +
y1(x + 1)*x^2 + y1(x + 1)*x,
y2(x+1)y1(x)]:

>

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

>

SeriesSolution(sys, vars);

$\left[{{\mathrm{\_c}}}_{{1}}{+}{x}{}\left({2}{}{{\mathrm{\_c}}}_{{2}}{+}{{\mathrm{\_c}}}_{{1}}\right){+}{\mathrm{O}}{}\left({{x}}^{{2}}\right){\,}{x}{}{{\mathrm{\_c}}}_{{1}}{+}{\mathrm{O}}{}\left({{x}}^{{2}}\right)\right]$
 (2) 


References



Abramov, S. A. "EGEliminations." Journal of Difference Equations and Applications, (1999): 393433.



