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
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
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
FieldsModifier and TypeFieldDescription(package private) doubleDOCUMENT ME!private doublelargest pole of Laplace space function (default zero) Note that InverseLaplace may give incorrect results if the default value of largestPole is used.private intDOCUMENT ME!private double[]resulting vector of times.private double[]resulting vector of real-space values.private doublenumerical tolerance of approaching pole (default 1.0e-9).private final intDOCUMENT ME! -
Constructor Summary
ConstructorsConstructorDescriptionInverseLaplaceqd(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 TypeMethodDescriptionvoiddriver()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.
-
Field Details
-
endTime
double endTimeDOCUMENT ME! -
largestPole
private double largestPolelargest 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 pDOCUMENT ME! -
time
private double[] timeresulting vector of times. -
timeFunction
private double[] timeFunctionresulting vector of real-space values. -
tol
private double tolnumerical tolerance of approaching pole (default 1.0e-9). -
tPts
private final int tPtsDOCUMENT ME!
-
-
Constructor Details
-
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 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
-