Class BicubicSplineInterpolatingFunction

java.lang.Object
org.apache.commons.math3.analysis.interpolation.BicubicSplineInterpolatingFunction
All Implemented Interfaces:
BivariateFunction

@Deprecated public class BicubicSplineInterpolatingFunction extends Object implements BivariateFunction
Deprecated.
Function that implements the bicubic spline interpolation. Due to numerical accuracy issues this should not be used.
Since:
2.1
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final double[][]
    Deprecated.
    Matrix to compute the spline coefficients from the function values and function derivatives values
    private static final int
    Deprecated.
    Number of coefficients.
    private final BivariateFunction[][][]
    Deprecated.
    Partial derivatives.
    private final BicubicSplineFunction[][]
    Deprecated.
    Set of cubic splines patching the whole data grid
    private final double[]
    Deprecated.
    Samples x-coordinates
    private final double[]
    Deprecated.
    Samples y-coordinates
  • Constructor Summary

    Constructors
    Constructor
    Description
    BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY)
    Deprecated.
     
    BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY, boolean initializeDerivatives)
    Deprecated.
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private double[]
    Deprecated.
    Compute the spline coefficients from the list of function values and function partial derivatives values at the four corners of a grid element.
    boolean
    isValidPoint(double x, double y)
    Deprecated.
    Indicates whether a point is within the interpolation range.
    private double
    partialDerivative(int which, double x, double y)
    Deprecated.
     
    double
    partialDerivativeX(double x, double y)
    Deprecated.
     
    double
    partialDerivativeXX(double x, double y)
    Deprecated.
     
    double
    partialDerivativeXY(double x, double y)
    Deprecated.
     
    double
    partialDerivativeY(double x, double y)
    Deprecated.
     
    double
    partialDerivativeYY(double x, double y)
    Deprecated.
     
    private int
    searchIndex(double c, double[] val)
    Deprecated.
     
    double
    value(double x, double y)
    Deprecated.
    Compute the value for the function.

    Methods inherited from class java.lang.Object

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

    • NUM_COEFF

      private static final int NUM_COEFF
      Deprecated.
      Number of coefficients.
      See Also:
    • AINV

      private static final double[][] AINV
      Deprecated.
      Matrix to compute the spline coefficients from the function values and function derivatives values
    • xval

      private final double[] xval
      Deprecated.
      Samples x-coordinates
    • yval

      private final double[] yval
      Deprecated.
      Samples y-coordinates
    • splines

      private final BicubicSplineFunction[][] splines
      Deprecated.
      Set of cubic splines patching the whole data grid
    • partialDerivatives

      private final BivariateFunction[][][] partialDerivatives
      Deprecated.
      Partial derivatives. The value of the first index determines the kind of derivatives: 0 = first partial derivatives wrt x 1 = first partial derivatives wrt y 2 = second partial derivatives wrt x 3 = second partial derivatives wrt y 4 = cross partial derivatives
  • Constructor Details

    • BicubicSplineInterpolatingFunction

      public BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY) throws DimensionMismatchException, NoDataException, NonMonotonicSequenceException
      Deprecated.
      Parameters:
      x - Sample values of the x-coordinate, in increasing order.
      y - Sample values of the y-coordinate, in increasing order.
      f - Values of the function on every grid point.
      dFdX - Values of the partial derivative of function with respect to x on every grid point.
      dFdY - Values of the partial derivative of function with respect to y on every grid point.
      d2FdXdY - Values of the cross partial derivative of function on every grid point.
      Throws:
      DimensionMismatchException - if the various arrays do not contain the expected number of elements.
      NonMonotonicSequenceException - if x or y are not strictly increasing.
      NoDataException - if any of the arrays has zero length.
    • BicubicSplineInterpolatingFunction

      public BicubicSplineInterpolatingFunction(double[] x, double[] y, double[][] f, double[][] dFdX, double[][] dFdY, double[][] d2FdXdY, boolean initializeDerivatives) throws DimensionMismatchException, NoDataException, NonMonotonicSequenceException
      Deprecated.
      Parameters:
      x - Sample values of the x-coordinate, in increasing order.
      y - Sample values of the y-coordinate, in increasing order.
      f - Values of the function on every grid point.
      dFdX - Values of the partial derivative of function with respect to x on every grid point.
      dFdY - Values of the partial derivative of function with respect to y on every grid point.
      d2FdXdY - Values of the cross partial derivative of function on every grid point.
      initializeDerivatives - Whether to initialize the internal data needed for calling any of the methods that compute the partial derivatives this function.
      Throws:
      DimensionMismatchException - if the various arrays do not contain the expected number of elements.
      NonMonotonicSequenceException - if x or y are not strictly increasing.
      NoDataException - if any of the arrays has zero length.
      See Also:
  • Method Details

    • value

      public double value(double x, double y) throws OutOfRangeException
      Deprecated.
      Compute the value for the function.
      Specified by:
      value in interface BivariateFunction
      Parameters:
      x - Abscissa for which the function value should be computed.
      y - Ordinate for which the function value should be computed.
      Returns:
      the value.
      Throws:
      OutOfRangeException
    • isValidPoint

      public boolean isValidPoint(double x, double y)
      Deprecated.
      Indicates whether a point is within the interpolation range.
      Parameters:
      x - First coordinate.
      y - Second coordinate.
      Returns:
      true if (x, y) is a valid point.
      Since:
      3.3
    • partialDerivativeX

      public double partialDerivativeX(double x, double y) throws OutOfRangeException
      Deprecated.
      Parameters:
      x - x-coordinate.
      y - y-coordinate.
      Returns:
      the value at point (x, y) of the first partial derivative with respect to x.
      Throws:
      OutOfRangeException - if x (resp. y) is outside the range defined by the boundary values of xval (resp. yval).
      NullPointerException - if the internal data were not initialized (cf. constructor).
    • partialDerivativeY

      public double partialDerivativeY(double x, double y) throws OutOfRangeException
      Deprecated.
      Parameters:
      x - x-coordinate.
      y - y-coordinate.
      Returns:
      the value at point (x, y) of the first partial derivative with respect to y.
      Throws:
      OutOfRangeException - if x (resp. y) is outside the range defined by the boundary values of xval (resp. yval).
      NullPointerException - if the internal data were not initialized (cf. constructor).
    • partialDerivativeXX

      public double partialDerivativeXX(double x, double y) throws OutOfRangeException
      Deprecated.
      Parameters:
      x - x-coordinate.
      y - y-coordinate.
      Returns:
      the value at point (x, y) of the second partial derivative with respect to x.
      Throws:
      OutOfRangeException - if x (resp. y) is outside the range defined by the boundary values of xval (resp. yval).
      NullPointerException - if the internal data were not initialized (cf. constructor).
    • partialDerivativeYY

      public double partialDerivativeYY(double x, double y) throws OutOfRangeException
      Deprecated.
      Parameters:
      x - x-coordinate.
      y - y-coordinate.
      Returns:
      the value at point (x, y) of the second partial derivative with respect to y.
      Throws:
      OutOfRangeException - if x (resp. y) is outside the range defined by the boundary values of xval (resp. yval).
      NullPointerException - if the internal data were not initialized (cf. constructor).
    • partialDerivativeXY

      public double partialDerivativeXY(double x, double y) throws OutOfRangeException
      Deprecated.
      Parameters:
      x - x-coordinate.
      y - y-coordinate.
      Returns:
      the value at point (x, y) of the second partial cross-derivative.
      Throws:
      OutOfRangeException - if x (resp. y) is outside the range defined by the boundary values of xval (resp. yval).
      NullPointerException - if the internal data were not initialized (cf. constructor).
    • partialDerivative

      private double partialDerivative(int which, double x, double y) throws OutOfRangeException
      Deprecated.
      Parameters:
      which - First index in partialDerivatives.
      x - x-coordinate.
      y - y-coordinate.
      Returns:
      the value at point (x, y) of the selected partial derivative.
      Throws:
      OutOfRangeException - if x (resp. y) is outside the range defined by the boundary values of xval (resp. yval).
      NullPointerException - if the internal data were not initialized (cf. constructor).
    • searchIndex

      private int searchIndex(double c, double[] val)
      Deprecated.
      Parameters:
      c - Coordinate.
      val - Coordinate samples.
      Returns:
      the index in val corresponding to the interval containing c.
      Throws:
      OutOfRangeException - if c is out of the range defined by the boundary values of val.
    • computeSplineCoefficients

      private double[] computeSplineCoefficients(double[] beta)
      Deprecated.
      Compute the spline coefficients from the list of function values and function partial derivatives values at the four corners of a grid element. They must be specified in the following order:
      • f(0,0)
      • f(1,0)
      • f(0,1)
      • f(1,1)
      • fx(0,0)
      • fx(1,0)
      • fx(0,1)
      • fx(1,1)
      • fy(0,0)
      • fy(1,0)
      • fy(0,1)
      • fy(1,1)
      • fxy(0,0)
      • fxy(1,0)
      • fxy(0,1)
      • fxy(1,1)
      where the subscripts indicate the partial derivative with respect to the corresponding variable(s).
      Parameters:
      beta - List of function values and function partial derivatives values.
      Returns:
      the spline coefficients.