return a rational solution of a q-difference equation - Maple Help

Online Help

All Products    Maple    MapleSim


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

QDifferenceEquations[RationalSolution] - return a rational solution of a q-difference equation

Calling Sequence

RationalSolution(eq, var, inits, output=type, 'minimize')

Parameters

eq

-

q-difference equation or a list of such equations (for the system case)

var

-

function variable to solve for, such as yx, or a list of such function variables (for the system case)

inits

-

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

Description

• 

The RationalSolution(eq, var) calling sequence returns the rational solutions of the given linear q-difference equation with polynomial coefficients. If such a solution does not exist, then NULL is returned.

• 

The RationalSolution command solves the problem with a single q-difference equation and also with a system of such equations. In the latter case, the command invokes LinearFunctionalSystems[RationalSolution] in order to find solutions.

• 

For the scalar case, the command computes a universal denominator and reduces the problem given to the problem of searching for polynomial solution, which is solved by PolynomialSolution.

  

If the 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. This could lead to an overall gain in efficiency for finding the solution.

  

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=basis

  

Requests that independent solutions be provided in the form of a list of independent solutions (the basis). If the input recurrence is homogeneous, then the independent solutions are output in a list as [sol1,sol2,...,soln]. If the input recurrence is inhomogeneous, then the output is a list containing the list of independent solutions in the first element, and a particular solution in the second, as [[sol1,sol2,...,soln],part].

  

output=basis[C]

  

This is related to the output=basis form, but rather than providing the output in list form, it 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 C is as provided in the output=basis[C] option.

  

output=onesol

  

This specifies that only a single solution be provided as output.

  

output=gensol

  

This specifies that the fully general solution should be obtained for the problem, and will fail if unable to obtain as many independent solutions as the order of the recurrence (regardless of initial conditions). The initial conditions are applied once the full solution is obtained.

  

output=anysol

  

This specifies that if a solution can be obtained that satisfies the initial conditions, then it should be returned regardless of the number of independent solutions obtained. For example, if no independent solutions can be obtained, but no initial conditions have been specified, then the particular solution is output.

Examples

withQDifferenceEquations:

eq1:=q3qx+1yq2x2q2x+1yqx+yxx+q=q62q3+1x2+xq52q3+q

eq1:=q3qx+1yq2x2q2x+1yqx+yxx+q=q62q3+1x2+xq52q3+q

(1)

sol1:=RationalSolutioneq1,yx,,output=basis_K

sol1:=qx2+x3+_K1xx+q

(2)

IsSolutionsol1,eq1,yx

true

(3)

aliasβ=RootOfx22:

eq2:=q3qxβ+1yq2x2q2x+1yqx+yxxβ+q=q62q3+1x2+xq52q3+q:

sol2:=RationalSolutioneq2,yx,,output=basis_C

sol2:=4q10x+2q8x+2q6x4q4x+2q12x+4q9x2+β2q13x+β2q12x2βq13xβ2q11x+β2q10x22βq12x2βq11x22β2q9x2+βq11x2βq10x2β2q9x+β2q8x2+4βq10x2β2q7x2+βq9x+2βq8x2+2β2q7x+2β2q6x22βq8x+2βq7x22β2q5x22βq7xβ2q5x+β2q4x22βq6x+2βq5x22β2q3x2+βq5x+2βq4x2β2q3x+βq3x2βqx2βq14+2βq13+q142q132q9q12+4q11q10+βq124βq11+2βq9+βq10+2q82q72βq2x2+β2qx+β2q2x22βq8+2βq7+βq64βq5+βq4+β2x2+2q3ββq2+4βq4xqxβ+4q3x2+4q5q6q48q6x22βq2x+2q2x+q22q3xβq62q3+ββq42q2+ββq2+β2q

(4)

IsSolutionsol2,eq2,yx

true

(5)

eq3:=q4x1xq71yxx2+2yxqx+yxq2yxq3x2q11yxq3qxyxq3xq10yxq3=xx2q14+q8x2+q3+x11+xq9xq7+xq13+q4xx2x3q18+q7x3q17x2+2x10qx12q72x11q8q22qx+q44x11q40x10+q34x10q30x9+q35x11q9x10x11q41x10q31+q45x12+q2x9

eq3:=q4x1q7x1yxx2+2yxqx+yxq2yq3xx2q11yq3xqxyq3xxq10yq3x=xq45x12+q44x11q41x11q40x10+q35x11+q34x10q31x10q30x9q18x3q17x2q9x102q8x11q7x12+q14x2+q13x+q2x9+2qx10+x11+q9x+q8x2+q7x3q7x+q4x+q3q22qxx2

(6)

sol3:=RationalSolutioneq3,yx,,output=basis_T

sol3:=x91xq4x1

(7)

IsSolutionsol3,eq3,yx

true

(8)

sys:=y2qxy1x,100y2xqx+10000y2xq100y2xx10000y2x100q3y1xx10000q2y1x+100q4y1qxx+10000y1qxq2100y1qxq3x10000y1qxq+100y1xqx+10000y1x

sys:=y2qxy1x,100y2xqx+10000y2xq100y2xx10000y2x100q3y1xx10000q2y1x+100q4y1qxx+10000y1qxq2100y1qxq3x10000y1qxq+100y1xqx+10000y1x

(9)

vars:=y1x,y2x:

sol4:=RationalSolutionsys,vars,,output=basis_K

sol4:=x_K2+_K1qx+100x,q_K1+x_K2x+100x

(10)

IsSolutionsol4,sys,vars

true

(11)

q:=2

q:=2

(12)

eq4:=2q2+xyx+q2+xq4yxq3+2+qxyqx+2yxq21+xq21+q5x1+xq31+xq4=xx2+2q3+3q4+q7+2q5x+4xq2+2q6x+q8x2+x3q3+3xq4+q3x2+2x3q5+7x2q9+7x3q11+x3q4+5q9x+6x2q7+5q7x+8q12x2+2x2q5+3x3q10+2q15x4+q19x5+7q14x3+3q13x3+2q17x4+q18x4+3q12x3+q16x4+4q10x2+3x3q8+q10x4+q11x+q10x+q14x2+2q15x3+x3q7+4x4q14+x4q7+2x4q9+x5q12+x4q8+4q8x+5q11x2+3q13x2+3q16x3+7x2q6+6x3q9+q14x5+2x4q13+q12x4+2x2q4

eq4:=2x+4yx+16x+4y8x+2x+2y2x+2y4x4x+132x+18x+116x+1=x503808x5+53376x4+219720x3+14745x23072x96

(13)

RationalSolutioneq4,yx,,'output'='basis'

,12xx+44x+1

(14)

sol5:=RationalSolutioneq4,yx,yq2=q41+q4,'output'='anysol'

sol5:=12xx+44x+1

(15)

IsSolutionsol5,eq4,yx

true

(16)

RationalSolutioneq4,yx,yq2=q41+q4,'output'='gensol'

See Also

LinearFunctionalSystems[RationalSolution], QDifferenceEquations, QDifferenceEquations[PolynomialSolution], QDifferenceEquations[UniversalDenominator]

References

  

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.


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam