Package ffx.numerics.func1d
Class QuasiLinearThetaMap
java.lang.Object
ffx.numerics.func1d.QuasiLinearThetaMap
- All Implemented Interfaces:
UnivariateDiffFunction
A QuasiLinearThetaMap implements a map of theta[-pi, +pi] to lambda[0,1] in a mostly-linear
fashion (i.e. rectangular sampling of theta produces roughly rectangular sampling of lambda).
- Author:
- Jacob M. Litman, Michael J. Schnieders
-
Constructor Summary
ConstructorDescriptionConstructs a QuasiLinearThetaMap with a theta0 of 0.1.QuasiLinearThetaMap
(double theta0) Constructs a QuasiLinearThetaMap which is roughly V-shaped from [-pi,+pi], is periodic, and uses trigonometric functions to spline between the linear ranges (theta0-pi, -theta0), (+theta0, pi-theta0) and the trigonometric interpolating regions [-pi, theta0-pi], [-theta0,+theta0] and [pi-theta0, pi]. -
Method Summary
Modifier and TypeMethodDescriptiondouble
firstDerivative
(double x) First derivative at a point.double
nthDerivative
(double x, int order) N'th order derivative at a point.double
secondDerivative
(double x) Second derivative at a point.double
valueAt
(double x) Value at a point
-
Constructor Details
-
QuasiLinearThetaMap
public QuasiLinearThetaMap()Constructs a QuasiLinearThetaMap with a theta0 of 0.1. -
QuasiLinearThetaMap
public QuasiLinearThetaMap(double theta0) Constructs a QuasiLinearThetaMap which is roughly V-shaped from [-pi,+pi], is periodic, and uses trigonometric functions to spline between the linear ranges (theta0-pi, -theta0), (+theta0, pi-theta0) and the trigonometric interpolating regions [-pi, theta0-pi], [-theta0,+theta0] and [pi-theta0, pi].- Parameters:
theta0
- Defines the width of the trigonometric interpolating regions.
-
-
Method Details
-
firstDerivative
Description copied from interface:UnivariateDiffFunction
First derivative at a point.- Specified by:
firstDerivative
in interfaceUnivariateDiffFunction
- Parameters:
x
- a double.- Returns:
- f'(x)
- Throws:
IllegalArgumentException
- If f'(x) is undefined at x.
-
nthDerivative
Description copied from interface:UnivariateDiffFunction
N'th order derivative at a point. Should be relatively optional for any order above 2.- Specified by:
nthDerivative
in interfaceUnivariateDiffFunction
- Parameters:
x
- a double.order
- Derivative order (>= 1)- Returns:
- d^nf(x)/dx^n
- Throws:
IllegalArgumentException
- If derivative undefined at x.
-
secondDerivative
Description copied from interface:UnivariateDiffFunction
Second derivative at a point.- Specified by:
secondDerivative
in interfaceUnivariateDiffFunction
- Parameters:
x
- a double.- Returns:
- f''(x)
- Throws:
IllegalArgumentException
- If f''(x) is undefined at x.
-
valueAt
Description copied from interface:UnivariateDiffFunction
Value at a point- Specified by:
valueAt
in interfaceUnivariateDiffFunction
- Parameters:
x
- a double.- Returns:
- f(x)
- Throws:
IllegalArgumentException
- If f(x) is undefined at x.
-