Class ContinuedFraction

java.lang.Object
org.apache.commons.math3.util.ContinuedFraction

public abstract class ContinuedFraction
extends java.lang.Object
Provides a generic means to evaluate continued fractions. Subclasses simply provided the a and b coefficients to evaluate the continued fraction.

References:

  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected ContinuedFraction()
    Default constructor.
  • Method Summary

    Modifier and Type Method Description
    double evaluate​(double x)
    Evaluates the continued fraction at the value x.
    double evaluate​(double x, double epsilon)
    Evaluates the continued fraction at the value x.
    double evaluate​(double x, double epsilon, int maxIterations)
    Evaluates the continued fraction at the value x.
    double evaluate​(double x, int maxIterations)
    Evaluates the continued fraction at the value x.
    protected abstract double getA​(int n, double x)
    Access the n-th a coefficient of the continued fraction.
    protected abstract double getB​(int n, double x)
    Access the n-th b coefficient of the continued fraction.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • getA

      protected abstract double getA​(int n, double x)
      Access the n-th a coefficient of the continued fraction. Since a can be a function of the evaluation point, x, that is passed in as well.
      Parameters:
      n - the coefficient index to retrieve.
      x - the evaluation point.
      Returns:
      the n-th a coefficient.
    • getB

      protected abstract double getB​(int n, double x)
      Access the n-th b coefficient of the continued fraction. Since b can be a function of the evaluation point, x, that is passed in as well.
      Parameters:
      n - the coefficient index to retrieve.
      x - the evaluation point.
      Returns:
      the n-th b coefficient.
    • evaluate

      public double evaluate​(double x)
      Evaluates the continued fraction at the value x.
      Parameters:
      x - the evaluation point.
      Returns:
      the value of the continued fraction evaluated at x.
      Throws:
      ConvergenceException - if the algorithm fails to converge.
    • evaluate

      public double evaluate​(double x, double epsilon)
      Evaluates the continued fraction at the value x.
      Parameters:
      x - the evaluation point.
      epsilon - maximum error allowed.
      Returns:
      the value of the continued fraction evaluated at x.
      Throws:
      ConvergenceException - if the algorithm fails to converge.
    • evaluate

      public double evaluate​(double x, int maxIterations)
      Evaluates the continued fraction at the value x.
      Parameters:
      x - the evaluation point.
      maxIterations - maximum number of convergents
      Returns:
      the value of the continued fraction evaluated at x.
      Throws:
      ConvergenceException - if the algorithm fails to converge.
    • evaluate

      public double evaluate​(double x, double epsilon, int maxIterations)

      Evaluates the continued fraction at the value x.

      The implementation of this method is based on equations 14-17 of:

      The recurrence relationship defined in those equations can result in very large intermediate results which can result in numerical overflow. As a means to combat these overflow conditions, the intermediate results are scaled whenever they threaten to become numerically unstable.
      Parameters:
      x - the evaluation point.
      epsilon - maximum error allowed.
      maxIterations - maximum number of convergents
      Returns:
      the value of the continued fraction evaluated at x.
      Throws:
      ConvergenceException - if the algorithm fails to converge.