Extrapolación de Richardson

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

El método de extrapolación de Richardson, desarrollado por Lewis Fry Richardson (1881-1953), permite construir a partir de una secuencia convergente otra secuencia más rápidamente convergente. Esta técnica se usa frecuentemente para mejorar los resultados de métodos numéricos a partir de una estimación previa, de igual forma mejora la precisión en el cálculo numérico de la derivada de una función, partiendo de la base de la serie de Taylor. Este proceso es especialmente utilizado para definir un método de integración: el método de Romberg.

Presentación del principio[editar]

Para una función variable en x, la primera derivada está definida por:

f'(x)=\lim_{h \to 0}\frac{f(x+h)-f(x)}{h}

Una simple aproximación se tiene por la diferencia hacia adelante, de forma que:

f_{1}(x)=\frac{f(x+h)-f(x)}{h}

Esta aproximación está lejos del valor real, por tanto en orden de hacer un análisis del error, expandimos en forma de serie de Taylor:

f(x+h)=f(x)+hf'(x)+\frac{h^2}{2}f''(x)+\frac{h^3}{3!}f'''(x)+ \cdots

Substrayendo f(x) de ambos lados y dividiendo por h, se tiene que:

f_{1}(x)=\frac{f(x+h)-f(x)}{h}=
f'(x)+\frac{h}{2}f''(x)+\frac{h^2}{3!}f'''(x)+ \cdots= f'(x) + O(h)

Análogamente se derivan las demás fórmulas de aproximación, deduciendo por ejemplo, con diferencia hacia atrás o cambiando los valores de h; de esta forma se obtiene una expresión generalizada llamada extrapolación de Richardson:

Sea A, la respuesta exacta a la integral, y A(h) la estimación de A con orden h^{k_0}. De tal forma que:

A = \lim_{h \to 0} A(h)
A = \underbrace{A(h)}_{O(h^{k_0})} + \underbrace{a_{1}h^{k_1}+ \underbrace{a_{2}h^{k_2} + \underbrace{a_{3}h^{k_3}+ ...}_{O(h^{k_3})}}_{O(h^{k_2})}}_{O(h^{k_1})}

Donde:

 O(h^{k_n}) es un estimador del error, usando la notación de Landau.
 a_{1}, a_{2}, a_{3},\cdots   ~~~ y ~~~ k_{1}, k_{2}, k_{3},\cdots son constantes desconocidas. Tal que  a_{i}\neq 0 ~~~ y ~~~ k_{1} < k_{2} < k_{3} < \cdots < k_{n}

Ahora bien: Usando tamaños de espaciamiento h y h/t, podemos aproximar a A como:

 A = A(h) + a_{1}h^{k_1}+ O(h^{k_2})~~~~(1)
 A = A\left(\frac{h}{t}\right) + a_{1}\left(\frac{h}{t}\right)^{k_1}
+ O\Big(\frac{h}{t}\Big)^{k_2}

Multiplicando la última ecuación por  t^{k_1}

 t^{k_1}A = t^{k_1}A\Big(\frac{h}{t}\Big) + t^{k_1}a_{1}\Big(\frac{h}{t}\Big)^{k_1}+ t^{k_1}O\Big(\frac{h}{t}\Big)^{k_2}~~~~(2)

Sustrayendo (2) y (1), como se vio al inicio:

 (t^{k_1}-1)A = t^{k_1}A\Big(\frac{h}{t}\Big) - A(h) + \underbrace{t^{k_1}O\Big(\frac{h}{t}\Big)^{k_2} - O(h^{k_2})}_{O(h^{k_2})}

Despejando A:

 A = \frac{t^{k_1}A\Big(\frac{h}{t}\Big) - A(h)}{(t^{k_1}-1)} + O(h^{k_2})

De este modo, se ha obtenido una mejor aproximación de A al sustraer el término más grande en el error,  O(h^{k_1}) . De igual manera se pueden remover más términos de error de modo que se obtengan mejores aproximaciones de A. Una relación de recurrencia general puede ser implementada en las aproximaciones al hacer:

 A_{i+1}(h)\approx \frac{t^{k_i}A_{i
}\Big(\frac{h}{t}\Big) - A_{i}(h)}{(t^{k_i}-1)}, siendo  k_{i}\, el orden del error

con:

 A = A_{i+1}(h) + O(h^{k_{i}+1})~~~y~~~ A_{1} = A(h)

Aplicaciones en métodos numéricos[editar]

Las aplicaciones más inmediatas de la Extrapolación de Richardson en los métodos numéricos son dos: derivación numérica mediante diferencias centradas y las fórmulas de Newton-Cotes para la integración numérica.

Extrapolación de Richardson en la derivación numérica[1] [editar]

Dada una tabla equiespaciada de datos, el procedimiento de mejora de un resultado obtenido mediante derivación por diferencias centradas es el siguiente:

  1. Determinar primero el valor buscado, en este caso la derivada (D0), con un espaciado e0
  2. Determinar de nuevo el mismo valor (D1) con un espaciado menor e1, el resultado será por tanto más preciso, debido a que el espaciado es más pequeño.
  3. Entonces puede determinarse la diferencia del segundo resultado de la siguiente forma:

Igualando el valor real de la derivada en las dos estimaciones se obtiene:

f'(x)=D_1+R_1(e_1)=D_0+R_0(e_0)
D_0 - D_1=R_1(e_1)-R_0(e_0)=k(e_1^n-e_0^n)
k=\frac{D_0-D_1}{e_1^n-e_0^n}

siendo R el error de truncamiento (resto), que depende del espaciado elevado a una determinada potencia:

R(x)=f'(x)-D=k e^n

y siendo n el orden de error del método utilizado

Sustituyendo k en la diferencia del valor más preciso se tiene una nueva estimación de la derivada:

R_1(h_1)=k h_1^n
f'(x)\approx D_1+R_1(e_1)=D_1 + \frac {D_1-D_0}{\Big(\frac {e_0}{e_1}\Big) ^n - 1}

Esta nueva estimación del valor tiene una diferencia de orden en+2 y el error del método se puede calcular aproximadamente mediante el valor del término corrector en valor absoluto:

E_{f'(x)}=\frac{ |D_1-D_0|}{\big (\frac{e_0}{e_1}\big)^n-1}

Siguiendo este procedimiento se puede llegar a un resultado mejorado para la estimación de la derivada y también una estimación de su error. Además, el procedimiento puede aplicarse sucesivamente para así obtener resultados cada vez más precisos.

Notas y referencias[editar]

  1. VVAA (2006). Introducción al Cálculo Numérico. Barcelona: Institut Químic de Sarrià.