Package gov.nih.mipav.model.algorithms
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 java.lang.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
endTime
DOCUMENT ME!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.private int
p
DOCUMENT ME!private double[]
time
resulting vector of times.private double[]
timeFunction
resulting vector of real-space values.private double
tol
numerical tolerance of approaching pole (default 1.0e-9).private int
tPts
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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
driver()
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()
getTime.double[]
getTimeFunction()
getTimeFunction.
-
-
-
Field Detail
-
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 Detail
-
InverseLaplaceqd
public InverseLaplaceqd(int timePoints, double endTime)
Constructor for InverseLaplaceqd.- Parameters:
timePoints
- intendTime
- double
-
InverseLaplaceqd
public InverseLaplaceqd(int timePoints, double endTime, double largestPole, double tol, int matrixSizeParameter)
Constructor for InverseLaplaceqd.- Parameters:
timePoints
- intendTime
- doublelargestPole
- doubletol
- doublematrixSizeParameter
- int
-
-
Method Detail
-
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
-
-