QDifferenceEquations
UniversalDenominator
return a universal denominator of the rational solutions for a q-difference equation
Calling Sequence
Parameters
Description
Examples
References
UniversalDenominator(eq, var, inits, output=type, 'minimize')
eq
-
q-difference equation or a list of such equations (for the system case)
var
function variable to solve for, such as y⁡x, or a list of such function variables (for the system case)
inits
(optional) set of initial conditions
output=type
(optional) where type is one of basis, basis[C], onesol, gensol, or anysol and "C" is a name. The words output, basis, onesol, gensol and anysol must be used literally.
'minimize'
(optional) indicates the universal denominator minimization algorithm must be used
The UniversalDenominator(eq,var,'minimize') calling sequence returns the universal denominator of rational solutions of the given linear q-difference equation with polynomial coefficients (that is, the polynomial, which is a multiple of the denominator of any rational solution of the given equation).
For the scalar case, the command uses the leading and trailing coefficients of the given equation and applies the dispersion algorithm by S.A. Abramov for finding the universal denominator. The algorithm for computing the dispersion of two polynomials by Wright and Man (extended to q-case) is used.
If option 'minimize' is specified, the command applies the universal denominator minimization algorithm by D.E. Khmelnov to try to lower the degree of the universal denominator found by the algorithm by S.A. Abramov. The goal is not always achieved but if the degree of the universal denominator is lowered then the problem of searching for numerator of the rational solution is simplified, potentially leading to an overall gain in efficiency for finding the solution.
For the system case, the command invokes LinearFunctionalSystems[UniversalDenominator] in order to compute the universal denominator.
Options inits and type are in fact ignored and are allowed just to be able to handle the same calling arguments as in QDifferenceEquations[RationalSolution].
with⁡QDifferenceEquations:
eq1≔q3⁢q⁢x+1⁢y⁡q2⁢x−2⁢q2⁢x+1⁢y⁡q⁢x+y⁡x⁢x+q=q6−2⁢q3+1⁢x2+x⁢q5−2⁢q3+q:
u1≔UniversalDenominator⁡eq1,y⁡x
u1≔x⁢x+q
u2≔UniversalDenominator⁡eq1,y⁡x,minimize
u2≔x⁢x+q
sol≔RationalSolution⁡eq1,y⁡x
sol≔q⁢x2+x3+_C1x⁢x+q
eq2≔q4⁢x−1⁢x⁢q7−1⁢y⁡x⁢x2+2⁢y⁡x⁢q⁢x+y⁡x⁢q2−y⁡x⁢q3⁢x2⁢q11−y⁡x⁢q3⁢q⁢x−y⁡x⁢q3⁢x⁢q10−y⁡x⁢q3=−x⁢x2⁢q14+q8⁢x2+q3+x11+x⁢q9−x⁢q7+x⁢q13+q4⁢x−x2−x3⁢q18+q7⁢x3−q17⁢x2+2⁢x10⁢q−x12⁢q7−2⁢x11⁢q8−q2−2⁢q⁢x+q44⁢x11−q40⁢x10+q34⁢x10−q30⁢x9+q35⁢x11−q9⁢x10−x11⁢q41−x10⁢q31+q45⁢x12+q2⁢x9
eq2≔q4⁢x−1⁢x⁢q7−1⁢y⁡x⁢x2+2⁢y⁡x⁢q⁢x+y⁡x⁢q2−y⁡q3⁢x⁢x2⁢q11−y⁡q3⁢x⁢q⁢x−y⁡q3⁢x⁢x⁢q10−y⁡q3⁢x=−x⁢q45⁢x12+q44⁢x11−x11⁢q41−q40⁢x10+q35⁢x11+q34⁢x10−x10⁢q31−q30⁢x9−x3⁢q18−q17⁢x2−q9⁢x10−2⁢x11⁢q8−x12⁢q7+x2⁢q14+x⁢q13+q2⁢x9+2⁢x10⁢q+x11+x⁢q9+q8⁢x2+q7⁢x3−x⁢q7+q4⁢x+q3−q2−2⁢q⁢x−x2
u1≔UniversalDenominator⁡eq2,y⁡x
u1≔x+1q7⁢xq+1q7⁢xq2+1q7⁢xq3+1q7⁢xq4+1q7⁢xq5+1q7⁢xq6+1q7⁢xq7+1q7⁢xq8+1q7⁢x−1q4
u2≔UniversalDenominator⁡eq2,y⁡x,minimize
u2≔x⁢q4−1q25
sol≔RationalSolution⁡eq2,y⁡x
sol≔x9−1⁢xq4⁢x−1
sys≔100⁢y2⁡x⁢q⁢x+10000⁢y2⁡x⁢q−100⁢y2⁡x⁢x−10000⁢y2⁡x−100⁢q3⁢y1⁡x⁢x−10000⁢q2⁢y1⁡x+100⁢q4⁢y1⁡q⁢x⁢x+10000⁢y1⁡q⁢x⁢q2−100⁢y1⁡q⁢x⁢q3⁢x−10000⁢y1⁡q⁢x⁢q+100⁢y1⁡x⁢q⁢x+10000⁢y1⁡x,y2⁡q⁢x−y1⁡x
vars≔y1⁡x,y2⁡x:
u≔UniversalDenominator⁡sys,vars
u≔x⁢q⁢x+100⁢100+x
sol≔RationalSolution⁡sys,vars
sol≔x⁢_C2+_C1q⁢x+100⁢x,q⁢_C1+x⁢_C2100+x⁢x
Abramov, S.A. "Rational Solutions to Linear Difference and q-Difference Equations with Polynomial Coefficients." Programmirovanie. No. 6. (1995): 3-11.
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.
See Also
LinearFunctionalSystems[UniversalDenominator]
QDifferenceEquations[QDispersion]
QDifferenceEquations[RationalSolution]
Download Help Document