Manual de Maxima 5.47.7.g39559bd: Funciones y variables para zeilberger

Previous: Introducción a zeilberger, Subir: zeilberger [Índice general][Índice]

### 79.2 Funciones y variables para zeilberger

Función: AntiDifference (F_k, k)

  Returns the hypergeometric anti-difference of F_k, if it exists. Otherwise `AntiDifference` returns `no_hyp_antidifference`.

Función: Gosper (F_k, k)

  Devuelve, si existe, el elemento racional asociado a F_k, esto es, la función racional que verifica

  F_k = R(k+1) F_(k+1) - R(k) F_k,

  En caso de no existir este elemento, `Gosper` devuelve `no_hyp_sol`.

Función: GosperSum (F_k, k, a, b)

  Devuelve la suma de los términos F_k desde k = a hasta k = b si F_k tiene una antidiferencia hipergeométrica. En caso contrario, `GosperSum` devuelve `nongosper_summable`.

  Ejemplos:

      (%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

Función: parGosper (F_{n,k}, k, n, d)

  Intenta calcular una recurrecia de orden d para F_{n,k}.

  El algoritmo devuelve una secuencia [s_1, s_2, ..., s_m] de soluciones, cada una de las cuales tiene la forma

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

  La función `parGosper` devuelve `[]` si no encuentra ninguna recurrencia.

Función: Zeilberger (F_{n,k}, k, n)

  Intenta calcular la suma hipergeométrica indefinida de F_{n,k}.

  La función `Zeilberger` invoca en primer lugar a `Gosper`, y en caso de no encontrar una solución, llama después a `parGosper` con los órdenes 1, 2, 3, ..., hasta `max_ord`. Si `Zeilberger` encuentra una solución antes de alcanzar `max_ord`, se detiene su ejecución y devuelve el resultado.

  El algoritmo devuelve una secuencia [s_1, s_2, ..., s_m] de soluciones, cada una de las cuales tiene la forma

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

  La función `Zeilberger` devuelve `[]` si no encuentra ninguna solución.

  La función `Zeilberger` llama a `Gosper` sólo si `Gosper_in_Zeilberger` tiene el valor `true`.

Variable opcional: max_ord

  Valor por defecto: 5

  `max_ord` es el máximo orden de recurrencia que ensayará la función `Zeilberger`.

Variable opcional: simplified_output

  Valor por defecto: `false`

  Si `simplified_output` vale `true`, las funciones del paquete `zeilberger` tratan de presentar las soluciones simplificadas.

Variable opcional: linear_solver

  Valor por defecto: `linsolve`

  La variable `linear_solver` guarda el nombre de la función que se utilizará para resolver el sistema de ecuaciones del algoritmo de Zeilberger.

Variable opcional: warnings

  Valor por defecto: `true`

  Si `warnings` vale `true`, las funciones del paquete `zeilberger` emiten mensajes de aviso durante su ejecución.

Variable opcional: Gosper_in_Zeilberger

  Valor por defecto: `true`

  Si `Gosper_in_Zeilberger` vale `true`, la función `Zeilberger` llama a la función `Gosper` antes de llamar a `parGosper`. En caso contrario, `Zeilberger` invoca inmediatamente a `parGosper`.

Variable opcional: trivial_solutions

  Valor por defecto: `true`

  Si `trivial_solutions` vale `true`, la función `Zeilberger` devuelve soluciones triviales.

Variable opcional: mod_test

  Valor por defecto: `false`

  Si `mod_test` vale `true`, la función `parGosper` ejecuta una prueba modular para descartar sistemas sin soluciones.

Variable opcional: modular_linear_solver

  Valor por defecto: `linsolve`

  La variable `modular_linear_solver` guarda el nombre de la función que deberá ser llamada por la prueba modular de `parGosper` para resolver sistemas lineales.

Variable opcional: ev_point

  Valor por defecto: `big_primes[10]`

  La variable `ev_point` guarda el valor para el que debe evaluarse n durante la ejecución de la prueba modular de `parGosper`.

Variable opcional: mod_big_prime

  Valor por defecto: `big_primes[1]`

  La variable `mod_big_prime` guarda el módulo utilizado por la prueba modular de `parGosper`.

Variable opcional: mod_threshold

  Valor por defecto: 4

  La variable `mod_threshold` es el máximo orden que ensaya la prueba modular de `parGosper`.

Previous: Introducción a zeilberger, Subir: zeilberger [Índice general][Índice]