fbpx
Wikipedia

Aproximación de Lanczos

En matemáticas, la aproximación de Lanczos es un método para evaluar la función gamma numéricamente, publicado por Cornelius Lanczos en 1964. Se trata de una alternativa práctica a la más popular aproximación de Stirling para el cálculo de la función gamma con precisión fija.

Introducción

La aproximación de Lanczos aplica la fórmula

 

para la función Gamma, con

 

Aquí g es una constante que puede ser elegida arbitrariamente sujeta a la restricción de que Re (z)> 1/2. [1]​ Los coeficientes p, dependientes de g, son ligeramente más difícil de calcular (véase más adelante). Aunque la fórmula como se indica aquí solo es válida para los argumentos en el semiplano complejo derecho, se puede extender a todo el plano complejo mediante la fórmula de reflexión,

 

La serie A es convergente, y se puede truncar para obtener la aproximación con la precisión deseada. Al elegir una apropiada g (pequeño entero), solo son necesarios de entre 5 a 10 términos de la serie para calcular la función gamma con la típica de precisión simple o doble de coma flotante. Si se elige un g fijo, los coeficientes se pueden calcular de antemano y la suma se refunden en la siguiente forma:

 

Por lo tanto el cálculo de la función gamma se convierte en una cuestión de la evaluación de solo un pequeño número de funciones elementales y la multiplicación por constantes almacenadas. La aproximación de Lanczos fue popularizado por Numerical Recipes, según la cual el cálculo de la función Gamma se convierte en "no mucho más difícil que otras funciones incorporadas que damos por sentado, como el sen x o e x. El método también se implementa en el Biblioteca Científica GNU.

Coeficientes

Los coeficientes están dados por

 

donde C (i, j)denota la (i, j) -ésimo elemento del polinomio de Chebyshev. Los coeficientes de la matriz puede calcularse recursivamente a partir de las identidades

 
 
   
   
   

Paul Godfrey describe cómo obtener los coeficientes y también el valor de la serie truncada A como un producto de matrices.

Derivación

Lanczos deriva la fórmula de la integral de Leonhard Euler

 

realiza una secuencia de operaciones básicas para obtener

 

y derivar una serie para la integral.

Implementación simple

La siguiente implementación en el lenguaje de programación Python sirve para argumentos complejos y por lo general da 15 decimales correctos:

def gamma(z): # great function from Wiki, but maybe could use memorization? epsilon = 0.0000001 def withinepsilon(x): return abs(x - abs(x)) <= epsilon from cmath import sin,sqrt,pi,exp p = [ 676.5203681218851, -1259.1392167224028, 771.32342877765313, -176.61502916214059, 12.507343278686905, -0.13857109526572012, 9.9843695780195716e-6, 1.5056327351493116e-7] z = complex(z) # Reflection formula if z.real < 0.5: result = pi / (sin(pi*z) * gamma(1-z)) else: z -= 1 x = 0.99999999999980993 for (i, pval) in enumerate(p): x += pval/(z+i+1) t = z + len(p) - 0.5 result = sqrt(2*pi) * t**(z+0.5) * exp(-t) * x if withinepsilon(result.imag): return result.real return result 

Véase también

Referencias

  1. Pugh thesis
  • Godfrey, Paul (2001). «Lanczos Implementation of the Gamma Function». 
  • Lanczos, Cornelius (1964). «A Precision Approximation of the Gamma Function». SIAM Journal on Numerical Analysis series B (Society for Industrial and Applied Mathematics) 1: 86-96. ISSN 0887-459X. JSTOR 2949767. doi:10.2307/2949767. 
  • Press, W. H.; Teukolsky, S. A.; Vetterling, W. T.; Flannery, B. P. (2007), «Section 6.1. Gamma Function», Numerical Recipes: The Art of Scientific Computing (3rd edición), New York: Cambridge University Press, ISBN 978-0-521-88068-8 .
  • Pugh, Glendon (2004). An analysis of the Lanczos Gamma approximation (Tesis de PhD). 
  • Toth, Viktor (2005). «Programmable Calculators: The Lanczos Approximation». 
  • Weisstein, Eric W. «Lanczos Approximation». En Weisstein, Eric W, ed. MathWorld (en inglés). Wolfram Research. 
  •   Datos: Q6483801

aproximación, lanczos, matemáticas, aproximación, lanczos, método, para, evaluar, función, gamma, numéricamente, publicado, cornelius, lanczos, 1964, trata, alternativa, práctica, más, popular, aproximación, stirling, para, cálculo, función, gamma, precisión, . En matematicas la aproximacion de Lanczos es un metodo para evaluar la funcion gamma numericamente publicado por Cornelius Lanczos en 1964 Se trata de una alternativa practica a la mas popular aproximacion de Stirling para el calculo de la funcion gamma con precision fija Indice 1 Introduccion 2 Coeficientes 3 Derivacion 4 Implementacion simple 5 Vease tambien 6 ReferenciasIntroduccion EditarLa aproximacion de Lanczos aplica la formula G z 1 2 p z g 1 2 z 1 2 e z g 1 2 A g z displaystyle Gamma z 1 sqrt 2 pi left z g frac 1 2 right z frac 1 2 e left z g frac 1 2 right A g z para la funcion Gamma con A g z 1 2 p 0 g p 1 g z z 1 p 2 g z z 1 z 1 z 2 displaystyle A g z frac 1 2 p 0 g p 1 g frac z z 1 p 2 g frac z z 1 z 1 z 2 cdots Aqui g es una constante que puede ser elegida arbitrariamente sujeta a la restriccion de que Re z gt 1 2 1 Los coeficientes p dependientes de g son ligeramente mas dificil de calcular vease mas adelante Aunque la formula como se indica aqui solo es valida para los argumentos en el semiplano complejo derecho se puede extender a todo el plano complejo mediante la formula de reflexion G 1 z G z p sin p z displaystyle Gamma 1 z Gamma z pi over sin pi z La serie A es convergente y se puede truncar para obtener la aproximacion con la precision deseada Al elegir una apropiada g pequeno entero solo son necesarios de entre 5 a 10 terminos de la serie para calcular la funcion gamma con la tipica de precision simple o doble de coma flotante Si se elige un g fijo los coeficientes se pueden calcular de antemano y la suma se refunden en la siguiente forma A g z c 0 k 1 N c k z k displaystyle A g z c 0 sum k 1 N frac c k z k Por lo tanto el calculo de la funcion gamma se convierte en una cuestion de la evaluacion de solo un pequeno numero de funciones elementales y la multiplicacion por constantes almacenadas La aproximacion de Lanczos fue popularizado por Numerical Recipes segun la cual el calculo de la funcion Gamma se convierte en no mucho mas dificil que otras funciones incorporadas que damos por sentado como el sen x o ex El metodo tambien se implementa en el Biblioteca Cientifica GNU Coeficientes EditarLos coeficientes estan dados por p k g a 0 k C 2 k 1 2 a 1 2 p a 1 2 a g 1 2 a 1 2 e a g 1 2 displaystyle p k g sum a 0 k C 2k 1 2a 1 frac sqrt 2 pi left a begin matrix frac 1 2 end matrix right left a g begin matrix frac 1 2 end matrix right left a frac 1 2 right e a g frac 1 2 donde C i j denota la i j esimo elemento del polinomio de Chebyshev Los coeficientes de la matriz puede calcularse recursivamente a partir de las identidades C 1 1 1 displaystyle C 1 1 1 C 2 2 1 displaystyle C 2 2 1 C i 1 C i 2 1 displaystyle C i 1 C i 2 1 i 3 4 displaystyle i 3 4 dots C i j 2 C i 1 j 1 displaystyle C i j 2C i 1 j 1 i j 3 4 displaystyle i j 3 4 dots C i j 2 C i 1 j 1 C i 2 j displaystyle C i j 2C i 1 j 1 C i 2 j i gt j 2 3 displaystyle i gt j 2 3 dots Paul Godfrey describe como obtener los coeficientes y tambien el valor de la serie truncada A como un producto de matrices Derivacion EditarLanczos deriva la formula de la integral de Leonhard Euler G z 1 0 t z e t d t displaystyle Gamma z 1 int 0 infty t z e t dt realiza una secuencia de operaciones basicas para obtener G z 1 z g 1 z 1 e z g 1 0 e v 1 log v z 1 2 v g d v displaystyle Gamma z 1 z g 1 z 1 e z g 1 int 0 e v 1 log v z frac 1 2 v g dv y derivar una serie para la integral Implementacion simple EditarLa siguiente implementacion en el lenguaje de programacion Python sirve para argumentos complejos y por lo general da 15 decimales correctos def gamma z great function from Wiki but maybe could use memorization epsilon 0 0000001 def withinepsilon x return abs x abs x lt epsilon from cmath import sin sqrt pi exp p 676 5203681218851 1259 1392167224028 771 32342877765313 176 61502916214059 12 507343278686905 0 13857109526572012 9 9843695780195716e 6 1 5056327351493116e 7 z complex z Reflection formula if z real lt 0 5 result pi sin pi z gamma 1 z else z 1 x 0 99999999999980993 for i pval in enumerate p x pval z i 1 t z len p 0 5 result sqrt 2 pi t z 0 5 exp t x if withinepsilon result imag return result real return resultVease tambien EditarAproximacion de Stirling Aproximacion de SpougeReferencias Editar Pugh thesis Godfrey Paul 2001 Lanczos Implementation of the Gamma Function Lanczos Cornelius 1964 A Precision Approximation of the Gamma Function SIAM Journal on Numerical Analysis series B Society for Industrial and Applied Mathematics 1 86 96 ISSN 0887 459X JSTOR 2949767 doi 10 2307 2949767 Press W H Teukolsky S A Vetterling W T Flannery B P 2007 Section 6 1 Gamma Function Numerical Recipes The Art of Scientific Computing 3rd edicion New York Cambridge University Press ISBN 978 0 521 88068 8 Pugh Glendon 2004 An analysis of the Lanczos Gamma approximation Tesis de PhD Toth Viktor 2005 Programmable Calculators The Lanczos Approximation Weisstein Eric W Lanczos Approximation En Weisstein Eric W ed MathWorld en ingles Wolfram Research Datos Q6483801 Obtenido de https es wikipedia org w index php title Aproximacion de Lanczos amp oldid 133584101, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos