# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution

## Class InvertingVariable

• java.lang.Object
• com.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution.InvertingVariable
• All Implemented Interfaces:
SubstitutionRule

public class InvertingVariable
extends Object
implements SubstitutionRule
This is the inverting-variable transformation. It is good for
• $$b \to \infty, a > 0$$
• $$a \to -\infty, b < 0$$
• any function that decreases toward infinity faster than $$\frac{1}{x^2}$$
The integrator for this substitution should use an OPEN formula to avoid computing for the end point where t = 0. The substitution is $\int_{a}^{b}f(x)dx = \int_{1/b}^{1/a}\frac{1}{t^2}f(\frac{1}{t})dt, ab > 0$
• ### Constructor Summary

Constructors
Constructor and Description
InvertingVariable(double a, double b)
Construct an InvertingVariable substitution rule.
• ### Method Summary

All Methods
Modifier and Type Method and Description
UnivariateRealFunction dx()
the first order derivative of the transformation: x'(t) = dx(t)/dt
double ta()
Get the lower limit of the integral.
double tb()
Get the upper limit of the integral.
UnivariateRealFunction x()
the transformation: x(t)
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Constructor Detail

• #### InvertingVariable

public InvertingVariable(double a,
double b)
Construct an InvertingVariable substitution rule.
Parameters:
a - the lower limit
b - the upper limit
• ### Method Detail

• #### x

public UnivariateRealFunction x()
Description copied from interface: SubstitutionRule
the transformation: x(t)
Specified by:
x in interface SubstitutionRule
Returns:
x(t)
• #### dx

public UnivariateRealFunction dx()
Description copied from interface: SubstitutionRule
the first order derivative of the transformation: x'(t) = dx(t)/dt
Specified by:
dx in interface SubstitutionRule
Returns:
x'(t) = dx(t)/dt
• #### ta

public double ta()
Description copied from interface: SubstitutionRule
Get the lower limit of the integral.
Specified by:
ta in interface SubstitutionRule
Returns:
the lower limit
• #### tb

public double tb()
Description copied from interface: SubstitutionRule
Get the upper limit of the integral.
Specified by:
tb in interface SubstitutionRule
Returns:
the upper limit