Class InverseLaplaceqd

java.lang.Object
gov.nih.mipav.model.algorithms.InverseLaplaceqd
Direct Known Subclasses:
AlgorithmFRAP.FitExpModelqd, AlgorithmFRAP.FitFullModelqd, InverseLaplaceTest.Fitqd1, InverseLaplaceTest.Fitqd10, InverseLaplaceTest.Fitqd11, InverseLaplaceTest.Fitqd12, InverseLaplaceTest.Fitqd13, InverseLaplaceTest.Fitqd14, InverseLaplaceTest.Fitqd15, InverseLaplaceTest.Fitqd16, InverseLaplaceTest.Fitqd2, InverseLaplaceTest.Fitqd3, InverseLaplaceTest.Fitqd4, InverseLaplaceTest.Fitqd5, InverseLaplaceTest.Fitqd6, InverseLaplaceTest.Fitqd7, InverseLaplaceTest.Fitqd8, InverseLaplaceTest.Fitqd9

public abstract class InverseLaplaceqd extends Object
This is a port of niltqd.m, a fast numerical inverse Laplace transform based on FFT and quotient-difference algorithm by Lubomir Brancik, 2001, Brno University of Technology.
In doing fits be sure to exclude the t = 0.0 point values as the error associated with this point is far greater than the error associated with the other points. Increasing p above 3 did not have any appreciable effect on the rms error. For the exp(t) example the effect of tol was: tol = 1.0E-8 rms error = 6.29E-5 tol = 1.0E-9 rms error = 7.26E-6 tol = 1.0E-10 rms error = 4.40E-6 tol = 1.0E-11 rms error = 1.13E-5 tol = 1.0E-12 rms error = 3.27E-5
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) double
    DOCUMENT ME!
    private double
    largest pole of Laplace space function (default zero) Note that InverseLaplace may give incorrect results if the default value of largestPole is used.
    private int
    DOCUMENT ME!
    private double[]
    resulting vector of times.
    private double[]
    resulting vector of real-space values.
    private double
    numerical tolerance of approaching pole (default 1.0e-9).
    private final int
    DOCUMENT ME!
  • Constructor Summary

    Constructors
    Constructor
    Description
    InverseLaplaceqd(int timePoints, double endTime)
    Constructor for InverseLaplaceqd.
    InverseLaplaceqd(int timePoints, double endTime, double largestPole, double tol, int matrixSizeParameter)
    Constructor for InverseLaplaceqd.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    driver.
    abstract double[][]
    fitToLaplace(double realS, double[] imagS)
    The second index is 0 for the real part and 1 for the imaginary part.
    double[]
    getTime.
    double[]
    getTimeFunction.

    Methods inherited from class java.lang.Object

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

    • endTime

      double endTime
      DOCUMENT ME!
    • largestPole

      private double largestPole
      largest pole of Laplace space function (default zero) Note that InverseLaplace may give incorrect results if the default value of largestPole is used. For example, the function exp(t) with the Laplace transform 1/(s-1) will give correct results if largestPole is set to 1.0, but will return incorrect negative values for time >= 1.0 if the largestPole default of 0.0 is used.
    • p

      private int p
      DOCUMENT ME!
    • time

      private double[] time
      resulting vector of times.
    • timeFunction

      private double[] timeFunction
      resulting vector of real-space values.
    • tol

      private double tol
      numerical tolerance of approaching pole (default 1.0e-9).
    • tPts

      private final int tPts
      DOCUMENT ME!
  • Constructor Details

    • InverseLaplaceqd

      public InverseLaplaceqd(int timePoints, double endTime)
      Constructor for InverseLaplaceqd.
      Parameters:
      timePoints - int
      endTime - double
    • InverseLaplaceqd

      public InverseLaplaceqd(int timePoints, double endTime, double largestPole, double tol, int matrixSizeParameter)
      Constructor for InverseLaplaceqd.
      Parameters:
      timePoints - int
      endTime - double
      largestPole - double
      tol - double
      matrixSizeParameter - int
  • Method Details

    • fitToLaplace

      public abstract double[][] fitToLaplace(double realS, double[] imagS)
      The second index is 0 for the real part and 1 for the imaginary part.
      Parameters:
      realS - DOCUMENT ME!
      imagS - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • driver

      public void driver()
      driver.
    • getTime

      public double[] getTime()
      getTime.
      Returns:
      time
    • getTimeFunction

      public double[] getTimeFunction()
      getTimeFunction.
      Returns:
      timeFunction