# Solutions for linear q-recurrence systems with polynomial coefficients

The LqRS (Linear q-Recurrence Systems) package implements in Maple 2017 a family of algorithms to solve a full-rank q-recurrence system.

We consider an arbitrary order linear system S of q-recurrence equations with polynomial coefficients:

An(x) y(x q^n) + … + A1(x) y(x q) + A0(x) y(x) = b(x),

where

• Ai(x) are matrices whose entries are rational functions of x;
• b(x) is 0 or a column vector whose entries are hypergeometric of x;
• y(x) is a column vector of unknown functions;
• q is a name.

The LqRS package is useful for solving the following types of problems:

## System representations

The LqRS package works with systems which coefficients are rational functions of one variable, for example x, over ℚ(q), and right-hand sides are hypergeometric of x, over ℚ(q). (It's simple to transform them to systems with polynomial coefficients). ℚ(q) is an algebraic extension of the rational number field by q. The system S can be given in one of two alternative forms:

* the matrix-form:

1. a q-recurrence equation for one unknown with matrix coefficients and a vector right-hand side,
2. an unknown, for example y(x);

* the list-form:

1. a list (or a set) of q-recurrence equations for several unknowns with rational functions coefficients and hypergeometric righ-hand sides,
2. a list of unknowns, for example [y1(x),…, ym(x)].

## The procedure EG

The procedure EG has the following arguments:

1. the word 'lead' or the word 'trail',
2. a system S (see System representations).

If the first argument is 'lead', the procedure EG constructs an l-embracing system, whose the leading matrix coefficient being invertible, and with the set of solutions containing all the solutions of S. If the first argument is 'trail', it constructs a t-embracing system, whose the trail matrix coefficient being invertible, and with the set of solutions containing all the solutions of S.

The output is a pair:

1. the system in the same form as the given S,
2. true if S has a full rank, and false otherwise.

## The procedure LaurentSolution

The procedure LaurentSolution has the following arguments:

1. a system S which right hand side is 0 or a column vector whose entries are rational functions of x (see System representations),
2. (optional argument) an order d of the initial terms of the solution series to calculate.

The procedure LaurentSolution constructs the initial terms of the Laurent series solutions of S. The order of the initial terms may be greater than d if it is needed to reveal the full solution space dimension.

The output is a vector column which involves arbitrary constants of the form _c, _c, etc.

## The procedure PolynomialSolution

The procedure PolynomialSolution has the following arguments:

1. a system S (see System representations).

The procedure PolynomialSolution constructs the polynomial solutions of S. The output is a vector column which involves arbitrary constants of the form _c, _c, etc.

## The procedure UniversalDenominator

The procedure UniversalDenominator has the following arguments:

1. a system S (see System representations).

The procedure UniversalDenominator returns a universal denominator of S.

## The procedure RationalSolution

The procedure RationalSolution has the following arguments:

1. a system S (see System representations).

The procedure RationalSolution constructs the rational solutions of S. The output is a vector column which involves arbitrary constants of the form _c, _c, etc.

## The procedure ResolvingSequence

The procedure ResolvingSequence has the following arguments:

1. a homogeneous system S (see System representations),
2. (optional argument) 'select_indicator' = i where i is a number of an unknown function which have to be first in a constructed resolving sequence.

The procedure ResolvingSequence constructs a resolving sequence of S. See details in ResolvingSequence procedure. The output is a list of q-recurrence equations.

## The procedure HypergeometricSolution

The procedure HypergeometricSolution has the following arguments:

1. a system S (see System representations),
2. a name k to construct hypergeometric solutions.

The procedure HypergeometricSolution constructs the hypergeometric solutions of S. They are a finite linear combination of hypergeometric terms. A hypergeometric term h(x) is that the ratio of h(q x) and h(x) is a rational function in x.

The output is a vector column which involves arbitrary constants of the form _c, _c, etc.

## Source

lqrs.zip - the archive with two files lqrs.ind and lqrs.lib which are a Maple library. Put these files to some directory, for example, to ”/usr/userlib”. Assign libname := ”/usr/userlib”, libname in the Maple session. Then use the LqRS package.

paper_examples_lqrs.pdf - the pdf copy of that Maple session.

hyper_inhomogeneous.mw - the Maple session file with an example to construct hypergeometric solutions for inhomogeneous systems.

hyper_inhomogeneous.pdf - the pdf copy of that Maple session.

lqrs.txt · Last modified: 2018/05/17 13:26 by anna

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial 3.0 Unported 