Vorige: , Nach oben: zeilberger   [Inhalt][Index]

77.2 Functions and Variables for zeilberger

Function: AntiDifference (\(F_k\), k)

Returns the hypergeometric anti-difference of \(F_k\), if it exists.

Otherwise AntiDifference returns no_hyp_antidifference.

Function: Gosper (\(F_k\), k)

Returns the rational certificate \(R(k)\) for \(F_k\), that is, a rational function such that \(F_k = R(k+1) F_(k+1) - R(k) F_k\), if it exists. Otherwise, Gosper returns no_hyp_sol.

Function: GosperSum (F_k, k, a, b)

Returns the summmation of \(F_k\) from k = a to k = b if \(F_k\) has a hypergeometric anti-difference. Otherwise, GosperSum returns nongosper_summable.

Examples:

(%i1) load ("zeilberger")$
(%i2) GosperSum ((-1)^k*k / (4*k^2 - 1), k, 1, n);
Dependent equations eliminated:  (1)
                           3       n + 1
                      (n + -) (- 1)
                           2               1
(%o2)               - ------------------ - -
                                  2        4
                      2 (4 (n + 1)  - 1)
(%i3) GosperSum (1 / (4*k^2 - 1), k, 1, n);
                                3
                          - n - -
                                2       1
(%o3)                  -------------- + -
                                2       2
                       4 (n + 1)  - 1
(%i4) GosperSum (x^k, k, 1, n);
                          n + 1
                         x          x
(%o4)                    ------ - -----
                         x - 1    x - 1
(%i5) GosperSum ((-1)^k*a! / (k!*(a - k)!), k, 1, n);
                                n + 1
                a! (n + 1) (- 1)              a!
(%o5)       - ------------------------- - ----------
              a (- n + a - 1)! (n + 1)!   a (a - 1)!
(%i6) GosperSum (k*k!, k, 1, n);
Dependent equations eliminated:  (1)
(%o6)                     (n + 1)! - 1
(%i7) GosperSum ((k + 1)*k! / (k + 1)!, k, 1, n);
                  (n + 1) (n + 2) (n + 1)!
(%o7)             ------------------------ - 1
                          (n + 2)!
(%i8) GosperSum (1 / ((a - k)!*k!), k, 1, n);
(%o8)                  NON_GOSPER_SUMMABLE
Function: parGosper (F_(n,k), k, n, d)

Attempts to find a d-th order recurrence for \(F_(n,k)\).

The algorithm yields a sequence \([s_1, s_2, ..., s_m]\) of solutions. Each solution has the form

\([R(n, k), [a_0, a_1, ..., a_d]]\).

parGosper returns [] if it fails to find a recurrence.

Function: Zeilberger (F_(n,k), k, n)

Attempts to compute the indefinite hypergeometric summation of \(F_(n,k)\).

Zeilberger first invokes Gosper, and if that fails to find a solution, then invokes parGosper with order 1, 2, 3, ..., up to MAX_ORD. If Zeilberger finds a solution before reaching MAX_ORD, it stops and returns the solution.

The algorithms yields a sequence \([s_1, s_2, ..., s_m]\) of solutions. Each solution has the form

\([R(n,k), [a_0, a_1, ..., a_d]].\)

Zeilberger returns [] if it fails to find a solution.

Zeilberger invokes Gosper only if Gosper_in_Zeilberger is true.

77.3 General global variables

Global variable: MAX_ORD

Default value: 5

MAX_ORD is the maximum recurrence order attempted by Zeilberger.

Global variable: simplified_output

Default value: false

When simplified_output is true, functions in the zeilberger package attempt further simplification of the solution.

Global variable: linear_solver

Default value: linsolve

linear_solver names the solver which is used to solve the system of equations in Zeilberger’s algorithm.

Global variable: warnings

Default value: true

When warnings is true, functions in the zeilberger package print warning messages during execution.

Global variable: Gosper_in_Zeilberger

Default value: true

When Gosper_in_Zeilberger is true, the Zeilberger function calls Gosper before calling parGosper. Otherwise, Zeilberger goes immediately to parGosper.

Global variable: trivial_solutions

Default value: true

When trivial_solutions is true, Zeilberger returns solutions which have certificate equal to zero, or all coefficients equal to zero.


Vorige: , Nach oben: zeilberger   [Inhalt][Index]

JavaScript license information