Package org.apache.commons.math.analysis
Class ComposableFunction
- java.lang.Object
-
- org.apache.commons.math.analysis.ComposableFunction
-
- All Implemented Interfaces:
UnivariateRealFunction
public abstract class ComposableFunction extends java.lang.Object implements UnivariateRealFunction
Base class forUnivariateRealFunction
that can be composed with other functions.- Since:
- 2.1
-
-
Field Summary
Fields Modifier and Type Field Description static ComposableFunction
ABS
TheFastMath.abs
method wrapped as aComposableFunction
.static ComposableFunction
ACOS
TheFastMath.abs
method wrapped as aComposableFunction
.static ComposableFunction
ASIN
TheFastMath.asin
method wrapped as aComposableFunction
.static ComposableFunction
ATAN
TheFastMath.atan
method wrapped as aComposableFunction
.static ComposableFunction
CBRT
TheFastMath.cbrt
method wrapped as aComposableFunction
.static ComposableFunction
CEIL
TheFastMath.ceil
method wrapped as aComposableFunction
.static ComposableFunction
COS
TheFastMath.cos
method wrapped as aComposableFunction
.static ComposableFunction
COSH
TheFastMath.cosh
method wrapped as aComposableFunction
.static ComposableFunction
EXP
TheFastMath.exp
method wrapped as aComposableFunction
.static ComposableFunction
EXPM1
TheFastMath.expm1
method wrapped as aComposableFunction
.static ComposableFunction
FLOOR
TheFastMath.floor
method wrapped as aComposableFunction
.static ComposableFunction
IDENTITY
The identity function.static ComposableFunction
INVERT
The invert operator wrapped as aComposableFunction
.static ComposableFunction
LOG
TheFastMath.log
method wrapped as aComposableFunction
.static ComposableFunction
LOG10
TheFastMath.log10
method wrapped as aComposableFunction
.static ComposableFunction
LOG1P
TheFastMath.log1p
method wrapped as aComposableFunction
.static ComposableFunction
NEGATE
The - operator wrapped as aComposableFunction
.static ComposableFunction
ONE
The constant function always returning 1.static ComposableFunction
RINT
TheFastMath.rint
method wrapped as aComposableFunction
.static ComposableFunction
SIGNUM
TheFastMath.signum
method wrapped as aComposableFunction
.static ComposableFunction
SIN
TheFastMath.sin
method wrapped as aComposableFunction
.static ComposableFunction
SINH
TheFastMath.sinh
method wrapped as aComposableFunction
.static ComposableFunction
SQRT
TheFastMath.sqrt
method wrapped as aComposableFunction
.static ComposableFunction
TAN
TheFastMath.tan
method wrapped as aComposableFunction
.static ComposableFunction
TANH
TheFastMath.tanh
method wrapped as aComposableFunction
.static ComposableFunction
ULP
TheFastMath.ulp
method wrapped as aComposableFunction
.static ComposableFunction
ZERO
The constant function always returning 0.
-
Constructor Summary
Constructors Constructor Description ComposableFunction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ComposableFunction
add(double a)
Return a function adding a constant term to the instance.ComposableFunction
add(UnivariateRealFunction f)
Return a function adding the instance and another function.MultivariateRealFunction
asCollector()
Generates a function that iteratively apply instance function on all elements of an array.MultivariateRealFunction
asCollector(double initialValue)
Generates a function that iteratively apply instance function on all elements of an array.MultivariateRealFunction
asCollector(BivariateRealFunction combiner)
Generates a function that iteratively apply instance function on all elements of an array.MultivariateRealFunction
asCollector(BivariateRealFunction combiner, double initialValue)
Generates a function that iteratively apply instance function on all elements of an array.ComposableFunction
combine(UnivariateRealFunction f, BivariateRealFunction combiner)
Return a function combining the instance and another function.ComposableFunction
divide(UnivariateRealFunction f)
Return a function dividing the instance by another function.ComposableFunction
multiply(double scaleFactor)
Return a function scaling the instance by a constant factor.ComposableFunction
multiply(UnivariateRealFunction f)
Return a function multiplying the instance and another function.ComposableFunction
of(UnivariateRealFunction f)
Precompose the instance with another function.ComposableFunction
postCompose(UnivariateRealFunction f)
Postcompose the instance with another function.ComposableFunction
subtract(UnivariateRealFunction f)
Return a function subtracting another function from the instance.abstract double
value(double x)
Compute the value for the function.
-
-
-
Field Detail
-
ZERO
public static final ComposableFunction ZERO
The constant function always returning 0.
-
ONE
public static final ComposableFunction ONE
The constant function always returning 1.
-
IDENTITY
public static final ComposableFunction IDENTITY
The identity function.
-
ABS
public static final ComposableFunction ABS
TheFastMath.abs
method wrapped as aComposableFunction
.
-
NEGATE
public static final ComposableFunction NEGATE
The - operator wrapped as aComposableFunction
.
-
INVERT
public static final ComposableFunction INVERT
The invert operator wrapped as aComposableFunction
.
-
SIN
public static final ComposableFunction SIN
TheFastMath.sin
method wrapped as aComposableFunction
.
-
SQRT
public static final ComposableFunction SQRT
TheFastMath.sqrt
method wrapped as aComposableFunction
.
-
SINH
public static final ComposableFunction SINH
TheFastMath.sinh
method wrapped as aComposableFunction
.
-
EXP
public static final ComposableFunction EXP
TheFastMath.exp
method wrapped as aComposableFunction
.
-
EXPM1
public static final ComposableFunction EXPM1
TheFastMath.expm1
method wrapped as aComposableFunction
.
-
ASIN
public static final ComposableFunction ASIN
TheFastMath.asin
method wrapped as aComposableFunction
.
-
ATAN
public static final ComposableFunction ATAN
TheFastMath.atan
method wrapped as aComposableFunction
.
-
TAN
public static final ComposableFunction TAN
TheFastMath.tan
method wrapped as aComposableFunction
.
-
TANH
public static final ComposableFunction TANH
TheFastMath.tanh
method wrapped as aComposableFunction
.
-
CBRT
public static final ComposableFunction CBRT
TheFastMath.cbrt
method wrapped as aComposableFunction
.
-
CEIL
public static final ComposableFunction CEIL
TheFastMath.ceil
method wrapped as aComposableFunction
.
-
FLOOR
public static final ComposableFunction FLOOR
TheFastMath.floor
method wrapped as aComposableFunction
.
-
LOG
public static final ComposableFunction LOG
TheFastMath.log
method wrapped as aComposableFunction
.
-
LOG10
public static final ComposableFunction LOG10
TheFastMath.log10
method wrapped as aComposableFunction
.
-
LOG1P
public static final ComposableFunction LOG1P
TheFastMath.log1p
method wrapped as aComposableFunction
.
-
COS
public static final ComposableFunction COS
TheFastMath.cos
method wrapped as aComposableFunction
.
-
ACOS
public static final ComposableFunction ACOS
TheFastMath.abs
method wrapped as aComposableFunction
.
-
COSH
public static final ComposableFunction COSH
TheFastMath.cosh
method wrapped as aComposableFunction
.
-
RINT
public static final ComposableFunction RINT
TheFastMath.rint
method wrapped as aComposableFunction
.
-
SIGNUM
public static final ComposableFunction SIGNUM
TheFastMath.signum
method wrapped as aComposableFunction
.
-
ULP
public static final ComposableFunction ULP
TheFastMath.ulp
method wrapped as aComposableFunction
.
-
-
Method Detail
-
of
public ComposableFunction of(UnivariateRealFunction f)
Precompose the instance with another function.The composed function h created by
h = g.of(f)
is such thath.value(x) == g.value(f.value(x))
for all x.- Parameters:
f
- function to compose with- Returns:
- a new function which computes
this.value(f.value(x))
- See Also:
postCompose(UnivariateRealFunction)
-
postCompose
public ComposableFunction postCompose(UnivariateRealFunction f)
Postcompose the instance with another function.The composed function h created by
h = g.postCompose(f)
is such thath.value(x) == f.value(g.value(x))
for all x.- Parameters:
f
- function to compose with- Returns:
- a new function which computes
f.value(this.value(x))
- See Also:
of(UnivariateRealFunction)
-
combine
public ComposableFunction combine(UnivariateRealFunction f, BivariateRealFunction combiner)
Return a function combining the instance and another function.The function h created by
h = g.combine(f, combiner)
is such thath.value(x) == combiner.value(g.value(x), f.value(x))
for all x.- Parameters:
f
- function to combine with the instancecombiner
- bivariate function used for combining- Returns:
- a new function which computes
combine.value(this.value(x), f.value(x))
-
add
public ComposableFunction add(UnivariateRealFunction f)
Return a function adding the instance and another function.- Parameters:
f
- function to combine with the instance- Returns:
- a new function which computes
this.value(x) + f.value(x)
-
add
public ComposableFunction add(double a)
Return a function adding a constant term to the instance.- Parameters:
a
- term to add- Returns:
- a new function which computes
this.value(x) + a
-
subtract
public ComposableFunction subtract(UnivariateRealFunction f)
Return a function subtracting another function from the instance.- Parameters:
f
- function to combine with the instance- Returns:
- a new function which computes
this.value(x) - f.value(x)
-
multiply
public ComposableFunction multiply(UnivariateRealFunction f)
Return a function multiplying the instance and another function.- Parameters:
f
- function to combine with the instance- Returns:
- a new function which computes
this.value(x) * f.value(x)
-
multiply
public ComposableFunction multiply(double scaleFactor)
Return a function scaling the instance by a constant factor.- Parameters:
scaleFactor
- constant scaling factor- Returns:
- a new function which computes
this.value(x) * scaleFactor
-
divide
public ComposableFunction divide(UnivariateRealFunction f)
Return a function dividing the instance by another function.- Parameters:
f
- function to combine with the instance- Returns:
- a new function which computes
this.value(x) / f.value(x)
-
asCollector
public MultivariateRealFunction asCollector(BivariateRealFunction combiner, double initialValue)
Generates a function that iteratively apply instance function on all elements of an array.The generated function behaves as follows:
- initialize result = initialValue
- iterate:
result = combiner.value(result, this.value(nextMultivariateEntry));
- return result
- Parameters:
combiner
- combiner to use between entriesinitialValue
- initial value to use before first entry- Returns:
- a new function that iteratively apply instance function on all elements of an array.
-
asCollector
public MultivariateRealFunction asCollector(BivariateRealFunction combiner)
Generates a function that iteratively apply instance function on all elements of an array.Calling this method is equivalent to call
asCollector(BivariateRealFunction, 0.0)
.- Parameters:
combiner
- combiner to use between entries- Returns:
- a new function that iteratively apply instance function on all elements of an array.
- See Also:
asCollector(BivariateRealFunction, double)
-
asCollector
public MultivariateRealFunction asCollector(double initialValue)
Generates a function that iteratively apply instance function on all elements of an array.Calling this method is equivalent to call
asCollector(BinaryFunction.ADD, initialValue)
.- Parameters:
initialValue
- initial value to use before first entry- Returns:
- a new function that iteratively apply instance function on all elements of an array.
- See Also:
asCollector(BivariateRealFunction, double)
,BinaryFunction.ADD
-
asCollector
public MultivariateRealFunction asCollector()
Generates a function that iteratively apply instance function on all elements of an array.Calling this method is equivalent to call
asCollector(BinaryFunction.ADD, 0.0)
.- Returns:
- a new function that iteratively apply instance function on all elements of an array.
- See Also:
asCollector(BivariateRealFunction, double)
,BinaryFunction.ADD
-
value
public abstract double value(double x) throws FunctionEvaluationException
Compute the value for the function.- Specified by:
value
in interfaceUnivariateRealFunction
- Parameters:
x
- the point for which the function value should be computed- Returns:
- the value
- Throws:
FunctionEvaluationException
- if the function evaluation fails
-
-