Example: The Epsilon Algorithm

The Epsilon algorithm is used to accelerate a series of partial sums of an infinite sum. The error shows that the Epsilon algorithm is effective.

import com.imsl.math.*;
import java.text.DecimalFormat;

public class EpsilonAlgorithmEx1 {

    static public void main(String arg[]) {
        EpsilonAlgorithm eps = new EpsilonAlgorithm();

        int n = 100;
        double sum = 0.0;
        for (int i = 1; i < n; i++) {
            sum += 1.0 / (i * i);
            eps.extrapolate(sum);
        }
        sum += 1.0 / (n * n);
        double extrapolated = eps.extrapolate(1.0 / (n * n));
        double expected = Math.PI * Math.PI / 6.0;
        double exError = expected - extrapolated;
        double sumError = expected - sum;
        DecimalFormat format = new DecimalFormat("0.00000");
        System.out.println("Expected     " + format.format(expected));
        System.out.print("Extrapolated " + format.format(extrapolated));
        System.out.println("   error =" + format.format(exError));
        System.out.print("Sum          " + format.format(sum));
        System.out.println("   error =" + format.format(sumError));
    }
}

Output

Expected     1.64493
Extrapolated 1.64278   error =0.00216
Sum          1.63498   error =0.00995
Link to Java source.