 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.
 As the underlying implementation of the QDifferenceEquations package is a module, it is also possible to use the form QDifferenceEquations:-command to access a command from the package. For more information,  see Module Members. 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),\varnothing ,\mathrm{output}=\mathrm{basis}\left[\mathrm{_K}\right]\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),\varnothing ,\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),\varnothing ,\mathrm{output}=\mathrm{basis}\left[\mathrm{_C}\right]\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.