 Overview - Maple Help

Overview of the QDifferenceEquations Package Calling Sequence QDifferenceEquations:-command(arguments) command(arguments) Description

 • The QDifferenceEquations package is useful for solving the following types of problems.
 *   Finding polynomial solutions of a linear q-difference equation with polynomial coefficients.
 *   Finding rational solutions of a linear q-difference equation with polynomial coefficients.
 *   Finding q-hypergeometric solutions of a linear q-difference equation with polynomial coefficients.
 *   Finding series solutions of a linear q-difference equation with polynomial coefficients.
 *   Finding the universal denominator of the rational solutions of a linear q-difference equation with polynomial coefficients.
 *   Computing the q-dispersion of two polynomials.
 • For a given linear q-difference equation with polynomial coefficients, the main functionality of this package is to find the closed-form solution (namely, polynomial, rational, and q-hypergeometric) of the given equation. For finding the rational solution, the package constructs a universal denominator of such a solution. In turn the construction of the universal denominator is based on the computation of q-dispersion of two polynomials.
 • The package also supports different basic q-hypergeometric objects, their simplification, expansion, and conversion.
 • Each command in the QDifferenceEquations package can be accessed by using either the long form or the short form of the command name in the command calling sequence.
 • The long form, QDifferenceEquations:-command, is always available. The short form can be used after loading the package. List of QDifferenceEquations Package Commands

 • The following is a list of available commands.

 • The PolynomialSolution, RationalSolution and SeriesSolution commands solve the problem with a single q-difference equation and also with a system of such equations. In the latter case the commands invoke LinearFunctionalSystems[PolynomialSolution], LinearFunctionalSystems[RationalSolution] and LinearFunctionalSystems[SeriesSolution] correspondingly in order to find solutions.
 To display the help page for a particular QDifferenceEquations command, see Getting Help with a Command in a Package. Examples

 > $\mathrm{with}\left(\mathrm{QDifferenceEquations}\right):$
 > $\mathrm{eq1}≔\left(1-{q}^{10}-\left(q-{q}^{10}\right)x\right)y\left({q}^{2}x\right)-\left(1-{q}^{20}-\left({q}^{2}-{q}^{20}\right)x\right)y\left(qx\right)+{q}^{10}\left(1-{q}^{10}-\left({q}^{2}-{q}^{11}\right)x\right)y\left(x\right)=\left({q}^{21}-{q}^{20}-{q}^{12}+{q}^{10}+{q}^{2}-q\right)x$
 ${\mathrm{eq1}}{≔}\left({1}{-}{{q}}^{{10}}{-}\left({-}{{q}}^{{10}}{+}{q}\right){}{x}\right){}{y}{}\left({{q}}^{{2}}{}{x}\right){-}\left({1}{-}{{q}}^{{20}}{-}\left({-}{{q}}^{{20}}{+}{{q}}^{{2}}\right){}{x}\right){}{y}{}\left({q}{}{x}\right){+}{{q}}^{{10}}{}\left({1}{-}{{q}}^{{10}}{-}\left({-}{{q}}^{{11}}{+}{{q}}^{{2}}\right){}{x}\right){}{y}{}\left({x}\right){=}\left({{q}}^{{21}}{-}{{q}}^{{20}}{-}{{q}}^{{12}}{+}{{q}}^{{10}}{+}{{q}}^{{2}}{-}{q}\right){}{x}$ (1)
 > $\mathrm{sol1}≔\mathrm{PolynomialSolution}\left(\mathrm{eq1},y\left(x\right),\left\{\right\},\mathrm{output}={\mathrm{basis}}_{\mathrm{_K}}\right)$
 ${\mathrm{sol1}}{≔}{{\mathrm{_K}}}_{{1}}{}{{x}}^{{10}}{+}{{\mathrm{_K}}}_{{2}}{}{x}{-}{{\mathrm{_K}}}_{{2}}{+}{1}$ (2)
 > $\mathrm{IsSolution}\left(\mathrm{sol1},\mathrm{eq1},y\left(x\right)\right)$
 ${\mathrm{true}}$ (3)
 > $\mathrm{eq2}≔{q}^{3}\left(qx+1\right)y\left({q}^{2}x\right)-2{q}^{2}\left(x+1\right)y\left(qx\right)+y\left(x\right)\left(x+q\right)=\left({q}^{6}-2{q}^{3}+1\right){x}^{2}+x\left({q}^{5}-2{q}^{3}+q\right)$
 ${\mathrm{eq2}}{≔}{{q}}^{{3}}{}\left({q}{}{x}{+}{1}\right){}{y}{}\left({{q}}^{{2}}{}{x}\right){-}{2}{}{{q}}^{{2}}{}\left({x}{+}{1}\right){}{y}{}\left({q}{}{x}\right){+}{y}{}\left({x}\right){}\left({x}{+}{q}\right){=}\left({{q}}^{{6}}{-}{2}{}{{q}}^{{3}}{+}{1}\right){}{{x}}^{{2}}{+}{x}{}\left({{q}}^{{5}}{-}{2}{}{{q}}^{{3}}{+}{q}\right)$ (4)
 > $\mathrm{sol2}≔\mathrm{RationalSolution}\left(\mathrm{eq2},y\left(x\right),\left\{\right\},\mathrm{output}=\mathrm{anysol}\right)$
 ${\mathrm{sol2}}{≔}\frac{{q}{}{{x}}^{{2}}{+}{{x}}^{{3}}{+}{y}{}\left({1}\right){}{q}{+}{y}{}\left({1}\right){-}{q}{-}{1}}{{x}{}\left({x}{+}{q}\right)}$ (5)
 > $\mathrm{IsSolution}\left(\mathrm{sol2},\mathrm{eq2},y\left(x\right)\right)$
 ${\mathrm{true}}$ (6)
 > $\mathrm{eq3}≔4\left({q}^{2}+qx\right){q}^{2}y\left(x\right)+4\left({q}^{2}+{q}^{5}x\right)y\left(x{q}^{3}\right)+4{q}^{2}{x}^{2}y\left(qx\right)+2\left(qx+2{q}^{2}{x}^{2}\right)y\left(x{q}^{2}\right)=x{q}^{3}\left(2{q}^{2}+5qx+2{x}^{2}+2{q}^{3}+2{q}^{5}x+2{q}^{6}x+2{q}^{8}{x}^{2}+2q{x}^{2}+2{x}^{3}q+3{q}^{2}{x}^{2}+2{x}^{3}{q}^{3}\right)$
 ${\mathrm{eq3}}{≔}{4}{}\left({{q}}^{{2}}{+}{q}{}{x}\right){}{{q}}^{{2}}{}{y}{}\left({x}\right){+}{4}{}\left({{q}}^{{5}}{}{x}{+}{{q}}^{{2}}\right){}{y}{}\left({{q}}^{{3}}{}{x}\right){+}{4}{}{{q}}^{{2}}{}{y}{}\left({q}{}{x}\right){}{{x}}^{{2}}{+}{2}{}\left({2}{}{{q}}^{{2}}{}{{x}}^{{2}}{+}{q}{}{x}\right){}{y}{}\left({{q}}^{{2}}{}{x}\right){=}{x}{}{{q}}^{{3}}{}\left({2}{}{{q}}^{{8}}{}{{x}}^{{2}}{+}{2}{}{{q}}^{{6}}{}{x}{+}{2}{}{{q}}^{{5}}{}{x}{+}{2}{}{{q}}^{{3}}{}{{x}}^{{3}}{+}{3}{}{{q}}^{{2}}{}{{x}}^{{2}}{+}{2}{}{q}{}{{x}}^{{3}}{+}{2}{}{{q}}^{{3}}{+}{2}{}{q}{}{{x}}^{{2}}{+}{2}{}{{q}}^{{2}}{+}{5}{}{q}{}{x}{+}{2}{}{{x}}^{{2}}\right)$ (7)
 > $\mathrm{sol3}≔\mathrm{RationalSolution}\left(\mathrm{eq3},y\left(x\right),\left\{\right\},\mathrm{output}={\mathrm{basis}}_{\mathrm{_C}}\right)$
 ${\mathrm{sol3}}{≔}\frac{{x}{}\left({x}{+}{q}\right)}{{2}}$ (8)
 > $\mathrm{IsSolution}\left(\mathrm{sol3},\mathrm{eq3},y\left(x\right)\right)$
 ${\mathrm{true}}$ (9) References

 Abramov, S.A. "Problems in Computer Algebra Related to Constructing Solutions to Linear Difference Equations with Polynomial Coefficients." Vest. Mosk. Univ., Ser. 15. Vychisl. Mat. Kibern. No. 3. (1989): 56-60.
 Abramov, S.A. "Rational Solutions to Linear Difference and q-Difference Equations with Polynomial Coefficients." Programmirovanie. No. 6. (1995):3-11.
 Abramov, S.A.; Bronstein, M.; and Petkovsek, M. "On polynomial solutions of linear operator equations." Proceedings of ISSAC'95, pp. 290-296. ACM Press: New York, 1995.
 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.
 Boeing, H., and Koepf, W. "Algorithms for q-hypergeometric summation in computer algebra." Journal of Symbolic Computation. Vol. 11. (1999): 1-23.
 Khmelnov, D.E. "Improved Algorithms for Solving Difference and q-Difference Equations." Programming and Computer Software Vol. 26 No. 2. (2000): 107-115. Translated from Programmirovanie. No. 2. 2000.
 Man, Yiu-Kwong, and Wright, Francis J. "Fast Polynomial Dispersion Computation and its Application to Indefinite Summation." Proceedings of ISSAC'94, pp. 175-180. ACM Press: New York, 1994.