miércoles, 5 de junio de 2024

Richardson Extrapolation Demostration

 https://personal.math.ubc.ca/~CLP/CLP2/clp_2_ic/ap_Richardson.html



C.1 Richardson Extrapolation

There are many approximation procedures in which one first picks a step size ℎ and then generates an approximation 𝐴(ℎ) to some desired quantity 𝐴. For example, 𝐴 might be the value of some integral ∫𝑎𝑏𝑓(𝑥)d𝑥. For the trapezoidal rule with 𝑛 steps, Δ𝑥=𝑏−𝑎𝑛 plays the role of the step size. Often the order of the error generated by the procedure is known. This means
(E1)𝐴=𝐴(ℎ)+𝐾ℎ𝑘+𝐾1ℎ𝑘+1+𝐾2ℎ𝑘+2+ ⋯
with 𝑘 being some known constant, called the order of the error, and 𝐾, 𝐾1, 𝐾2, ⋯ being some other (usually unknown) constants. If 𝐴(ℎ) is the approximation to 𝐴=∫𝑎𝑏𝑓(𝑥)d𝑥 produced by the trapezoidal rule with Δ𝑥=ℎ, then 𝑘=2. If Simpson's rule is used, 𝑘=4.
Let's first suppose that ℎ is small enough that the terms 𝐾′ℎ𝑘+1+𝐾″ℎ𝑘+2+ ⋯ in (E1) are small enough 1  that dropping them has essentially no impact. This would give
(E2)𝐴=𝐴(ℎ)+𝐾ℎ𝑘
Imagine that we know 𝑘, but that we do not know 𝐴 or 𝐾, and think of (E2) as an equation that the unknowns 𝐴 and 𝐾 have to solve. It may look like we have one equation in the two unknowns 𝐾, 𝐴, but that is not the case. The reason is that (E2) is (essentially) true for all (sufficiently small) choices of ℎ. If we pick some ℎ, say ℎ1, and use the algorithm to determine 𝐴(ℎ1) then (E2), with ℎ replaced by ℎ1, gives one equation in the two unknowns 𝐴 and 𝐾, and if we then pick some different ℎ, say ℎ2, and use the algorithm a second time to determine 𝐴(ℎ2) then (E2), with ℎ replaced by ℎ2, gives a second equation in the two unknowns 𝐴 and 𝐾. The two equations will then determine both 𝐴 and 𝐾.
To be more concrete, suppose that we have picked some specific value of ℎ, and have chosen ℎ1=ℎ and ℎ2=ℎ2, and that we have evaluated 𝐴(ℎ) and 𝐴(ℎ/2). Then the two equations are
(E3a)𝐴=𝐴(ℎ)+𝐾ℎ𝑘(E3b)𝐴=𝐴(ℎ/2)+𝐾(ℎ2)𝑘
It is now easy to solve for both 𝐾 and 𝐴. To get 𝐾, just subtract (E3b) from (E3a).
(E3a)−(E3b):0=𝐴(ℎ)−𝐴(ℎ/2)+(1−12𝑘)𝐾ℎ𝑘(E4a)⟹𝐾=𝐴(ℎ/2)−𝐴(ℎ)[1−2−𝑘]ℎ𝑘
To get 𝐴 multiply (E3b) by 2𝑘 and then subtract (E3a).
2𝑘(E3b)−(E3a):[2𝑘−1]𝐴=2𝑘𝐴(ℎ/2)−𝐴(ℎ)(E4b)⟹𝐴=2𝑘𝐴(ℎ/2)−𝐴(ℎ)2𝑘−1
The generation of a “new improved” approximation for 𝐴 from two 𝐴(ℎ)'s with different values of ℎ is called Richardson 2  Extrapolation. Here is a summary
This works very well since, by computing 𝐴(ℎ) for two different ℎ's, we can remove the biggest error term in (E1), and so get a much more precise approximation to 𝐴 for little additional work.

No hay comentarios:

Publicar un comentario