2009-01-25 11 views
6

¿Alguien tiene experiencia con algoritmos para evaluar funciones hipergeométricas? Me interesarían las referencias generales, pero describiré mi problema particular en caso de que alguien lo haya solucionado.Evaluación eficiente de funciones hipergeométricas

Mi problema específico es evaluar una función de la forma 3F2 (a, b, 1; c, d; 1) donde a, b, c y d son todos reales positivos y c + d> a + b + 1. Hay muchos casos especiales que tienen una fórmula de forma cerrada, pero hasta donde sé, no hay tales fórmulas en general. La serie de potencias centrada en cero converge a 1, pero muy lentamente; la relación de coeficientes consecutivos va a 1 en el límite. Tal vez algo como la aceleración de Aitken ayudaría?

Respuesta

1

¿Es correcto que quiera sumar una serie en la que conozca la proporción de términos sucesivos y que sea una función racional?

creo Gosper's algorithm y el resto de las herramientas para probar hypergeometric identities (y la búsqueda de ellos) hacen exactamente esto, ¿verdad? (Ver Wilf y Zielberger A=B book online.)

+0

Sí, la relación de los coeficientes de serie es una función racional del índice. Pero no he encontrado una identidad hipergeométrica útil. http://functions.wolfram.com/ enumera miles de identidades, pero ninguna de ellas ayuda. –

+0

No sé mucho - ¿estos algoritmos tampoco * encuentran * una identidad? No he leído el libro A = B en detalle, pero los paquetes de Maple que menciona podrían tener mejores implementaciones ... – ShreevatsaR

6

Probé la aceleración de Aitken y no parece ayudar con este problema (tampoco extrapola a Richardson). Esto probablemente significa que la aproximación de Pade tampoco funciona. Sin embargo, podría haber hecho algo mal, así que inténtalo por ti mismo.

Puedo pensar en dos enfoques.

Uno es para evaluar la serie en algún punto como z = 0.5 donde la convergencia es rápida para obtener un valor inicial y luego avanzar a z = 1 conectando el hypergeometric differential equation en un solucionador de ODE. No sé qué tan bien funciona esto en la práctica; podría no serlo, debido a que z = 1 es una singularidad (si no recuerdo mal).

El segundo es utilizar la definición de 3F2 en términos del Meijer G-function. La integral del contorno que define la función Meijer G se puede evaluar numéricamente aplicando cuadratura gaussiana o doblemente exponencial a segmentos del contorno. Esto no es terriblemente eficiente, pero debería funcionar, y debería escalar a una precisión relativamente alta.

+0

Fantástica pregunta y una respuesta que está a la altura del desafío. Bien hecho. – duffymo

+0

Uso un paso a paso Burlisch-Stoer para resolver con éxito el ODE para 2F1. El método funciona bien, siempre que tenga cuidado al elegir los cortes de sucursal. Para 2F3, esto parece más complicado ya que es de cuarto orden y tiene más puntos singulares, pero esto debería ser factible. –

Cuestiones relacionadas