QDifferenceEquations - Maple Programming Help

Home : Support : Online Help : Mathematics : Factorization and Solving Equations : QDifferenceEquations : QDifferenceEquations/QHypergeometricSolution

QDifferenceEquations

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

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

Parameters

 eq - q-difference equation var - function variable to solve for, such as $y\left(x\right)$ 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 $r\left(x\right)=\frac{h\left(qx\right)}{h\left(x\right)}$ computes as $r\left(x\right)=\frac{z\left(x\right)a\left(x\right)c\left(x\right)}{b\left(x\right)c\left(qx\right)}$,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, 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 ${C}_{0},{C}_{1},...,{C}_{n}$, 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

 > $\mathrm{with}\left(\mathrm{QDifferenceEquations}\right):$
 > $\mathrm{Eq}≔xy\left({q}^{3}x\right)-{q}^{3}{x}^{2}y\left({q}^{2}x\right)-\left({x}^{2}+q\right)y\left(qx\right)+qx\left({x}^{2}+q\right)y\left(x\right)$
 ${\mathrm{Eq}}{:=}{x}{}{y}{}\left({{q}}^{{3}}{}{x}\right){-}{{q}}^{{3}}{}{{x}}^{{2}}{}{y}{}\left({{q}}^{{2}}{}{x}\right){-}\left({{x}}^{{2}}{+}{q}\right){}{y}{}\left({q}{}{x}\right){+}{q}{}{x}{}\left({{x}}^{{2}}{+}{q}\right){}{y}{}\left({x}\right)$ (1)
 > $\mathrm{sol1}≔\mathrm{QHypergeometricSolution}\left(\mathrm{Eq},y\left(x\right),'\mathrm{output}'='\mathrm{Certificate}'\right)$
 ${\mathrm{sol1}}{:=}\left\{{q}{}{x}\right\}$ (2)
 > $\mathrm{IsSolution}\left(\mathrm{sol1},\mathrm{Eq},y\left(x\right),'\mathrm{certificates}'\right)$
 ${\mathrm{true}}$ (3)
 > $\mathrm{Eq}≔-q\left({q}^{6}-{q}^{4}\right)y\left(x\right)-q\left(-1+{q}^{2}\right)y\left(x{q}^{2}\right)-q\left(-{q}^{5}+q\right)y\left(xq\right)$
 ${\mathrm{Eq}}{:=}{-}{q}{}\left({{q}}^{{6}}{-}{{q}}^{{4}}\right){}{y}{}\left({x}\right){-}{q}{}\left({{q}}^{{2}}{-}{1}\right){}{y}{}\left({{q}}^{{2}}{}{x}\right){-}{q}{}\left({-}{{q}}^{{5}}{+}{q}\right){}{y}{}\left({q}{}{x}\right)$ (4)
 > $\mathrm{sol2}≔\mathrm{QHypergeometricSolution}\left(\mathrm{Eq},y\left(x\right),'\mathrm{full}',n\right)$
 ${\mathrm{sol2}}{:=}\left\{{\prod }_{{k}{=}{0}}^{{n}{-}{1}}\phantom{\rule[-0.0ex]{5.0px}{0.0ex}}\left({{q}}^{{3}}\right){,}{\prod }_{{k}{=}{0}}^{{n}{-}{1}}\phantom{\rule[-0.0ex]{5.0px}{0.0ex}}\left(\frac{{q}{}\left({{q}}^{{2}}{}{\left({{q}}^{{k}}\right)}^{{2}}{}{{\mathrm{_C}}}_{{2}}{+}{{\mathrm{_C}}}_{{0}}\right)}{{\left({{q}}^{{k}}\right)}^{{2}}{}{{\mathrm{_C}}}_{{2}}{+}{{\mathrm{_C}}}_{{0}}}\right)\right\}$ (5)
 > $\mathrm{sol3}≔\mathrm{QHypergeometricSolution}\left(\mathrm{Eq},y\left(x\right),'\mathrm{full}',n,\left\{\right\},'\mathrm{output}'=\left[{'\mathrm{basis}'}_{\mathrm{_K}},'\mathrm{QPochhammer}'\right]\right)$
 ${\mathrm{sol3}}{:=}\left\{{\left({{q}}^{{3}}\right)}^{{n}}{,}\frac{{{q}}^{{n}}{}{\mathrm{QDifferenceEquations:-QPochhammer}}{}\left(\frac{{{\mathrm{_K}}}_{{2}}{}{q}}{\sqrt{{-}{{\mathrm{_K}}}_{{2}}{}{{\mathrm{_K}}}_{{0}}}}{,}{q}{,}{n}\right){}{\mathrm{QDifferenceEquations:-QPochhammer}}{}\left({-}\frac{{{\mathrm{_K}}}_{{2}}{}{q}}{\sqrt{{-}{{\mathrm{_K}}}_{{2}}{}{{\mathrm{_K}}}_{{0}}}}{,}{q}{,}{n}\right)}{{\mathrm{QDifferenceEquations:-QPochhammer}}{}\left(\frac{{{\mathrm{_K}}}_{{2}}}{\sqrt{{-}{{\mathrm{_K}}}_{{2}}{}{{\mathrm{_K}}}_{{0}}}}{,}{q}{,}{n}\right){}{\mathrm{QDifferenceEquations:-QPochhammer}}{}\left({-}\frac{{{\mathrm{_K}}}_{{2}}}{\sqrt{{-}{{\mathrm{_K}}}_{{2}}{}{{\mathrm{_K}}}_{{0}}}}{,}{q}{,}{n}\right)}\right\}$ (6)
 > $\mathrm{sol2a}≔\mathrm{QHypergeometricSolution}\left(\mathrm{Eq},y\left(x\right),'\mathrm{full}',n,\left\{\right\},'\mathrm{output}'={'\mathrm{basis}'}_{\mathrm{_K}}\right)$
 ${\mathrm{sol2a}}{:=}\left\{{\prod }_{{k}{=}{0}}^{{n}{-}{1}}\phantom{\rule[-0.0ex]{5.0px}{0.0ex}}\left({{q}}^{{3}}\right){,}{\prod }_{{k}{=}{0}}^{{n}{-}{1}}\phantom{\rule[-0.0ex]{5.0px}{0.0ex}}\left(\frac{{q}{}\left({{q}}^{{2}}{}{\left({{q}}^{{k}}\right)}^{{2}}{}{{\mathrm{_K}}}_{{2}}{+}{{\mathrm{_K}}}_{{0}}\right)}{{\left({{q}}^{{k}}\right)}^{{2}}{}{{\mathrm{_K}}}_{{2}}{+}{{\mathrm{_K}}}_{{0}}}\right)\right\}$ (7)
 > $\mathrm{sol3a}≔\mathrm{QHypergeometricSolution}\left(\mathrm{Eq},y\left(x\right),'\mathrm{full}',n,\left\{\right\},'\mathrm{output}'=\left['\mathrm{onesol}','\mathrm{QPochhammer}'\right]\right)$
 ${\mathrm{sol3a}}{:=}\left\{{\left({{q}}^{{3}}\right)}^{{n}}\right\}$ (8)

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.