|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectcom.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution.Substitution
com.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution.DoubleExponential
public class DoubleExponential
This transformation speeds up the convergence of the Trapezoidal Rule exponentially.
It applies to a finite integral region [a, b].
The substitution is
x = 0.5 * (b + a) + 0.5 * (b - a) * tanh(c * sinh(t))
The tricky part of using this transformation is to figure out a good range for t.
The user should override Substitution.ta() and Substitution.tb() if there is information about the integrand available.
| Field Summary | |
|---|---|
double |
a
the lower limit |
double |
b
the upper limit |
double |
c
a constant; usually either 0 or 0.5 * PI |
UnivariateRealFunction |
f
the original integrand |
| Fields inherited from class com.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution.Substitution |
|---|
dx, x |
| Constructor Summary | |
|---|---|
DoubleExponential(UnivariateRealFunction f,
double c,
double a,
double b)
Construct an instance of the DoubleExponential substitution rule. |
|
| Method Summary | |
|---|---|
double |
ta()
Get the lower limit of the integral. |
double |
tb()
Get the upper limit of the integral. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final UnivariateRealFunction f
public final double a
public final double b
public final double c
| Constructor Detail |
|---|
public DoubleExponential(UnivariateRealFunction f,
double c,
double a,
double b)
f - the integrand; with f, we try to determine the lower and upper limits automaticallyc - a constant; usually either 0 or 0.5 * PIa - the lower limitb - the upper limit| Method Detail |
|---|
public double ta()
t for integration.
It is very hard to determine the appropriate region without knowing much about the function,
such as where its singularities are.
If the user knows about t's region, s/he should override this function.
ta in class Substitutionpublic double tb()
t for integration.
It is very hard to determine the appropriate region without knowing much about the function,
such as where its singularities are.
If the user knows about t's region, s/he should override this function.
tb in class Substitution
|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||