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
QHypergeometricSolution(eq, var, inits, output=type, n, qf)
eq
-
q-difference equation
var
function variable to solve for, such as y⁡x
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
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 r⁡x=h⁡q⁢xh⁡x computes as r⁡x=z⁡x⁢a⁡x⁢c⁡xb⁡x⁢c⁡q⁢x,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.
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.
with⁡QDifferenceEquations:
Eq≔x⁢y⁡q3⁢x−q3⁢x2⁢y⁡q2⁢x−x2+q⁢y⁡q⁢x+q⁢x⁢x2+q⁢y⁡x
sol1≔QHypergeometricSolution⁡Eq,y⁡x,output=Certificate
sol1≔q⁢x
IsSolution⁡sol1,Eq,y⁡x,certificates
true
Eq≔−q2⁢x⁢q4⁢x2−q2⁢x−q⁢x+1⁢y⁡x+q⁢q5⁢x3+q4⁢x3−q3⁢x2−q2⁢x2−q⁢x2+1⁢y⁡q⁢x+−q5⁢x3+q2⁢x+q⁢x−q+x−1⁢y⁡q2⁢x+y⁡q3⁢x⁢q2⁢x2−q⁢x−x+1
sol2≔QHypergeometricSolution⁡Eq,y⁡x,full,n
sol2≔∏k=0n−1⁡1,∏k=0n−1⁡q,∏k=0n−1⁡q⁢qk
sol3≔QHypergeometricSolution⁡Eq,y⁡x,full,n,∅,output=basis_K,QPochhammer
sol3≔_K1+qn⁢_K2+qn2⁢qn⁢_K3
sol3a≔QHypergeometricSolution⁡Eq,y⁡x,full,n,∅,output=onesol,QPochhammer
sol3a≔1
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[PolynomialSolution]
QDifferenceEquations[UniversalDenominator]
Download Help Document