package com.imsl.test.example.math; import com.imsl.math.*; import java.text.DecimalFormat; /** *

* Accelerates a series of partial sums using 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. * * @see Code * @see Output * */ 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)); } }