QHypergeometricSolution - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


QDifferenceEquations

  

QHypergeometricSolution

  

returns a set of q-hypergeometric solutions of a given q-difference equation with polynomial coefficients

 

Calling Sequence

Parameters

Description

Output options

Examples

References

Calling Sequence

QHypergeometricSolution(eq, var, inits, output=type, n, qf)

Parameters

eq

-

q-difference equation

var

-

function variable to solve for, such as yx

inits

-

set of initial conditions

output=type

-

(optional) where type is either one of basis[C] or onesol or one of Certificate, Product, or QPochhammer or set or list of one value from the first row and the other one form the second row. "C" is a name. The words output, basis, onesol, Certificate, Product and QPochhammer must be used literally.

n

-

(optional) variable

qf

-

(optional) where qf is quick for factorization over the field implied by the coefficients (by default), or full for complete factorization with coefficients over the complex number field

Description

• 

The QHypergeometricSolution command uses the algorithm of S. Abramov, P. Paule, and M. Petkovsek (see References).

• 

The command first determines all factors of the leading and trailing coefficient of the equation eq. The optional argument opt, which is either 'quick' or 'full' (the default value is 'quick'), specifies whether the factorization of the leading and trailing coefficient should be over the field implied by the coefficients (through the procedure factor) or the factorization should be complete, over the complex number field (through the procedure PolynomialTools[Split]). The command executes more rapidly in the first case but some solutions may be lost.

• 

The command executes enumeration of each couple of the factors. The command constructs the q-difference equation eq1 with coefficients as linear combinations from the current couple of the factors.

  

If the polynomial solution c(x) of the q-difference equation eq1 exists, a q-hypergeometric solution h(x) of the given equation eq exists too and the certificate rx=hqxhx computes as rx=zxaxcxbxcqx,where c(x) is the polynomial solution of the q-difference equation eq1, a(x) and b(x) are the couple of the factors, and z(x) is the solution of the linear equation.

  

If a q-hypergeometric solution does not exist, then empty set is returned.

• 

The parameter q in a scalar q-difference equation can be either a name or a rational number.

Output options

• 

Optionally, you can specify output=basis[var], output=onesol, output=gensol, or output=anysol.

  

output=Certificate

  

The rational certificates of the q-hypergeometric solutions are the output. It can be combined with one of basis[C] or onesol.

  

output=Product

  

The multiplicative product forms of the q-hypergeometric solutions are the output. The default value from the row Certificate, Product and QPochhammer is Product. It can be combined with one of basis[C] or onesol.

  

output=QPochhammer

  

The q-hypergeometric solutions usually in terms of q-Pochhammer symbols are returned. It can be combined with one of basis[C] or onesol.

  

output=basis[C]

  

The output is provided as a single algebraic expression that is a C-linear combination of the independent solutions plus any particular solution for the inhomogeneous case. The independent solutions will have indexed coefficients of the form C0,C1,...,Cn, where var is as provided in the output=basis[C] option. It can be combined with one of Certificate, Product or QPochhammer.

  

output=onesol

  

This specifies that only a single solution be provided as output. It can be combined with one of Certificate, Product or QPochhammer.

• 

The inits argument is in fact ignored and allowed in the calling sequence for compatibility with the other solvers in the package.

Examples

withQDifferenceEquations:

Eqxyq3xq3x2yq2xx2+qyqx+qxx2+qyx

Eqxyq3xq3x2yq2xx2+qyqx+qxx2+qyx

(1)

sol1QHypergeometricSolutionEq,yx,output=Certificate

sol1qx

(2)

IsSolutionsol1,Eq,yx,certificates

true

(3)

Eqq2xq4x2q2xqx+1yx+qq5x3+q4x3q3x2q2x2qx2+1yqx+q5x3+q2x+qxq+x1yq2x+yq3xq2x2qxx+1

Eqq2xq4x2q2xqx+1yx+qq5x3+q4x3q3x2q2x2qx2+1yqx+q5x3+q2x+qxq+x1yq2x+yq3xq2x2qxx+1

(4)

sol2QHypergeometricSolutionEq,yx,full,n

sol2k=0n11,k=0n1q,k=0n1qqk

(5)

sol3QHypergeometricSolutionEq,yx,full,n,,output=basis_K,QPochhammer

sol3_K1+qn_K2+qn2qn_K3

(6)

sol3aQHypergeometricSolutionEq,yx,full,n,,output=onesol,QPochhammer

sol3a1

(7)

References

  

Abramov, S.A.; Paule, P.; and Petkovsek, M. "q-Hypergeometric solutions of q-difference equations." Discrete Math. Vol. 180. (1998): 3-22.

  

Abramov, S.A., and Petkovsek, M. "Finding all q-hypergeometric solutions of q-difference equations." Proc. FPSAC '95, Univ.de Marne-la-Vall'ee, Noisy-le-Grand, pp. 1-10. 1995.

See Also

LinearFunctionalSystems[RationalSolution]

QDifferenceEquations

QDifferenceEquations[PolynomialSolution]

QDifferenceEquations[UniversalDenominator]