Top Description Constructors Methods
org.apache.commons.math3.analysis

public Class FunctionUtils

extends Object
Class Inheritance
Imports
org.apache.commons.math3.analysis.differentiation.DerivativeStructure, .MultivariateDifferentiableFunction, .MultivariateDifferentiableVectorFunction, .UnivariateDifferentiableFunction, org.apache.commons.math3.analysis.function.Identity, org.apache.commons.math3.exception.DimensionMismatchException, .NotStrictlyPositiveException, .NumberIsTooLargeException, org.apache.commons.math3.exception.util.LocalizedFormats

Utilities for manipulating function objects.
Since
3.0

Constructor Summary

AccessConstructor and Description
private
FunctionUtils()

Class only contains static methods.

Method Summary

Modifier and TypeMethod and Description
public static UnivariateFunction

Returns:

a function that computes the sum of the functions.
add
(final UnivariateFunction...
List of functions.
f
)

Adds functions.

public static UnivariateDifferentiableFunction

Returns:

a function that computes the sum of the functions.
add
(final UnivariateDifferentiableFunction...
List of functions.
f
)

Adds functions.

public static DifferentiableUnivariateFunction

Returns:

a function that computes the sum of the functions.
add
(final DifferentiableUnivariateFunction...
List of functions.
f
)
Deprecated as of 3.1 replaced by add(UnivariateDifferentiableFunction...)

Adds functions.

public static MultivariateFunction

Returns:

a collector function.
collector
(final BivariateFunction
Combiner function.
combiner
,
final UnivariateFunction
Function.
f
,
final double
Initial value.
initialValue
)

Returns a MultivariateFunction h(x[]) defined by

 
h(x[]) = combiner(...combiner(combiner(initialValue,f(x[0])),f(x[1]))...),f(x[x.length-1]))
public static MultivariateFunction

Returns:

a collector function.
collector
(final BivariateFunction
Combiner function.
combiner
,
final double
Initial value.
initialValue
)

Returns a MultivariateFunction h(x[]) defined by

 
h(x[]) = combiner(...combiner(combiner(initialValue,x[0]),x[1])...),x[x.length-1])
public static UnivariateFunction

Returns:

the composite function.
combine
(final BivariateFunction
Combiner function.
combiner
,
final UnivariateFunction
Function.
f
,
final UnivariateFunction
Function.
g
)

Returns the univariate function h(x) = combiner(f(x), g(x)).

public static UnivariateFunction

Returns:

the composite function.
compose
(final UnivariateFunction...
List of functions.
f
)

Composes functions.

public static UnivariateDifferentiableFunction

Returns:

the composite function.
compose
(final UnivariateDifferentiableFunction...
List of functions.
f
)

Composes functions.

public static DifferentiableUnivariateFunction

Returns:

the composite function.
compose
(final DifferentiableUnivariateFunction...
List of functions.
f
)
Deprecated as of 3.1 replaced by compose(UnivariateDifferentiableFunction...)

Composes functions.

public static UnivariateFunction

Returns:

the unary function h(x) = f(fixed, x)
fix1stArgument
(final BivariateFunction
Binary function.
f
,
final double
value to which the first argument of f is set.
fixed
)

Creates a unary function by fixing the first argument of a binary function.

public static UnivariateFunction

Returns:

the unary function h(x) = f(x, fixed)
fix2ndArgument
(final BivariateFunction
Binary function.
f
,
final double
value to which the second argument of f is set.
fixed
)

Creates a unary function by fixing the second argument of a binary function.

public static UnivariateFunction

Returns:

a function that computes the product of the functions.
multiply
(final UnivariateFunction...
List of functions.
f
)

Multiplies functions.

public static UnivariateDifferentiableFunction

Returns:

a function that computes the product of the functions.
multiply
(final UnivariateDifferentiableFunction...
List of functions.
f
)

Multiplies functions.

public static DifferentiableUnivariateFunction

Returns:

a function that computes the product of the functions.
multiply
(final DifferentiableUnivariateFunction...
List of functions.
f
)
Deprecated as of 3.1 replaced by multiply(UnivariateDifferentiableFunction...)

Multiplies functions.

public static double[]

Returns:

the array of samples.
sample
(UnivariateFunction
Function to be sampled
f
,
double
Lower bound of the interval (included).
min
,
double
Upper bound of the interval (excluded).
max
,
int
Number of sample points.
n
)

Samples the specified univariate real function on the specified interval.

public static DifferentiableMultivariateFunction

Returns:

converted function
toDifferentiableMultivariateFunction
(final MultivariateDifferentiableFunction
function to convert
f
)
Deprecated this conversion method is temporary in version 3.1, as the DifferentiableMultivariateFunction interface itself is deprecated

Convert a MultivariateDifferentiableFunction into a DifferentiableMultivariateFunction.

public static DifferentiableMultivariateVectorFunction

Returns:

converted function
toDifferentiableMultivariateVectorFunction
(final MultivariateDifferentiableVectorFunction
function to convert
f
)
Deprecated this conversion method is temporary in version 3.1, as the DifferentiableMultivariateVectorFunction interface itself is deprecated

Convert a MultivariateDifferentiableVectorFunction into a DifferentiableMultivariateVectorFunction.

public static DifferentiableUnivariateFunction

Returns:

converted function
toDifferentiableUnivariateFunction
(final UnivariateDifferentiableFunction
function to convert
f
)
Deprecated this conversion method is temporary in version 3.1, as the DifferentiableUnivariateFunction interface itself is deprecated

Convert a UnivariateDifferentiableFunction into a DifferentiableUnivariateFunction.

public static MultivariateDifferentiableFunction

Returns:

converted function
toMultivariateDifferentiableFunction
(final DifferentiableMultivariateFunction
function to convert
f
)
Deprecated this conversion method is temporary in version 3.1, as the DifferentiableMultivariateFunction interface itself is deprecated

Convert a DifferentiableMultivariateFunction into a MultivariateDifferentiableFunction.

public static MultivariateDifferentiableVectorFunction

Returns:

converted function
toMultivariateDifferentiableVectorFunction
(final DifferentiableMultivariateVectorFunction
function to convert
f
)
Deprecated this conversion method is temporary in version 3.1, as the DifferentiableMultivariateFunction interface itself is deprecated

Convert a DifferentiableMultivariateVectorFunction into a MultivariateDifferentiableVectorFunction.

public static UnivariateDifferentiableFunction

Returns:

converted function
toUnivariateDifferential
(final DifferentiableUnivariateFunction
function to convert
f
)
Deprecated this conversion method is temporary in version 3.1, as the DifferentiableUnivariateFunction interface itself is deprecated

Convert a DifferentiableUnivariateFunction into a UnivariateDifferentiableFunction.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

FunctionUtilsback to summary
private FunctionUtils()

Class only contains static methods.

Method Detail

addback to summary
public static UnivariateFunction add(final UnivariateFunction... f)

Adds functions.

Parameters
f:UnivariateFunction[]

List of functions.

Returns:UnivariateFunction

a function that computes the sum of the functions.

addback to summary
public static UnivariateDifferentiableFunction add(final UnivariateDifferentiableFunction... f)

Adds functions.

Parameters
f:UnivariateDifferentiableFunction[]

List of functions.

Returns:UnivariateDifferentiableFunction

a function that computes the sum of the functions.

Since
3.1
addback to summary
public static DifferentiableUnivariateFunction add(final DifferentiableUnivariateFunction... f)

Deprecated

as of 3.1 replaced by add(UnivariateDifferentiableFunction...)

Adds functions.

Parameters
f:DifferentiableUnivariateFunction[]

List of functions.

Returns:DifferentiableUnivariateFunction

a function that computes the sum of the functions.

Annotations
@Deprecated
collectorback to summary
public static MultivariateFunction collector(final BivariateFunction combiner, final UnivariateFunction f, final double initialValue)

Returns a MultivariateFunction h(x[]) defined by

 
h(x[]) = combiner(...combiner(combiner(initialValue,f(x[0])),f(x[1]))...),f(x[x.length-1]))
Parameters
combiner:BivariateFunction

Combiner function.

f:UnivariateFunction

Function.

initialValue:double

Initial value.

Returns:MultivariateFunction

a collector function.

collectorback to summary
public static MultivariateFunction collector(final BivariateFunction combiner, final double initialValue)

Returns a MultivariateFunction h(x[]) defined by

 
h(x[]) = combiner(...combiner(combiner(initialValue,x[0]),x[1])...),x[x.length-1])
Parameters
combiner:BivariateFunction

Combiner function.

initialValue:double

Initial value.

Returns:MultivariateFunction

a collector function.

combineback to summary
public static UnivariateFunction combine(final BivariateFunction combiner, final UnivariateFunction f, final UnivariateFunction g)

Returns the univariate function h(x) = combiner(f(x), g(x)).

Parameters
combiner:BivariateFunction

Combiner function.

f:UnivariateFunction

Function.

g:UnivariateFunction

Function.

Returns:UnivariateFunction

the composite function.

composeback to summary
public static UnivariateFunction compose(final UnivariateFunction... f)

Composes functions.

The functions in the argument list are composed sequentially, in the given order. For example, compose(f1,f2,f3) acts like f1(f2(f3(x))).

Parameters
f:UnivariateFunction[]

List of functions.

Returns:UnivariateFunction

the composite function.

composeback to summary
public static UnivariateDifferentiableFunction compose(final UnivariateDifferentiableFunction... f)

Composes functions.

The functions in the argument list are composed sequentially, in the given order. For example, compose(f1,f2,f3) acts like f1(f2(f3(x))).

Parameters
f:UnivariateDifferentiableFunction[]

List of functions.

Returns:UnivariateDifferentiableFunction

the composite function.

Since
3.1
composeback to summary
public static DifferentiableUnivariateFunction compose(final DifferentiableUnivariateFunction... f)

Deprecated

as of 3.1 replaced by compose(UnivariateDifferentiableFunction...)

Composes functions.

The functions in the argument list are composed sequentially, in the given order. For example, compose(f1,f2,f3) acts like f1(f2(f3(x))).

Parameters
f:DifferentiableUnivariateFunction[]

List of functions.

Returns:DifferentiableUnivariateFunction

the composite function.

Annotations
@Deprecated
fix1stArgumentback to summary
public static UnivariateFunction fix1stArgument(final BivariateFunction f, final double fixed)

Creates a unary function by fixing the first argument of a binary function.

Parameters
f:BivariateFunction

Binary function.

fixed:double

value to which the first argument of f is set.

Returns:UnivariateFunction

the unary function h(x) = f(fixed, x)

fix2ndArgumentback to summary
public static UnivariateFunction fix2ndArgument(final BivariateFunction f, final double fixed)

Creates a unary function by fixing the second argument of a binary function.

Parameters
f:BivariateFunction

Binary function.

fixed:double

value to which the second argument of f is set.

Returns:UnivariateFunction

the unary function h(x) = f(x, fixed)

multiplyback to summary
public static UnivariateFunction multiply(final UnivariateFunction... f)

Multiplies functions.

Parameters
f:UnivariateFunction[]

List of functions.

Returns:UnivariateFunction

a function that computes the product of the functions.

multiplyback to summary
public static UnivariateDifferentiableFunction multiply(final UnivariateDifferentiableFunction... f)

Multiplies functions.

Parameters
f:UnivariateDifferentiableFunction[]

List of functions.

Returns:UnivariateDifferentiableFunction

a function that computes the product of the functions.

Since
3.1
multiplyback to summary
public static DifferentiableUnivariateFunction multiply(final DifferentiableUnivariateFunction... f)

Deprecated

as of 3.1 replaced by multiply(UnivariateDifferentiableFunction...)

Multiplies functions.

Parameters
f:DifferentiableUnivariateFunction[]

List of functions.

Returns:DifferentiableUnivariateFunction

a function that computes the product of the functions.

Annotations
@Deprecated
sampleback to summary
public static double[] sample(UnivariateFunction f, double min, double max, int n) throws NumberIsTooLargeException, NotStrictlyPositiveException

Samples the specified univariate real function on the specified interval.

The interval is divided equally into n sections and sample points are taken from min to max - (max - min) / n; therefore f is not sampled at the upper bound max.

Parameters
f:UnivariateFunction

Function to be sampled

min:double

Lower bound of the interval (included).

max:double

Upper bound of the interval (excluded).

n:int

Number of sample points.

Returns:double[]

the array of samples.

Exceptions
NumberIsTooLargeException:
if the lower bound min is greater than, or equal to the upper bound max.
NotStrictlyPositiveException:
if the number of sample points n is negative.
toDifferentiableMultivariateFunctionback to summary
public static DifferentiableMultivariateFunction toDifferentiableMultivariateFunction(final MultivariateDifferentiableFunction f)

Deprecated

this conversion method is temporary in version 3.1, as the DifferentiableMultivariateFunction interface itself is deprecated

Convert a MultivariateDifferentiableFunction into a DifferentiableMultivariateFunction.

Parameters
f:MultivariateDifferentiableFunction

function to convert

Returns:DifferentiableMultivariateFunction

converted function

Annotations
@Deprecated
toDifferentiableMultivariateVectorFunctionback to summary
public static DifferentiableMultivariateVectorFunction toDifferentiableMultivariateVectorFunction(final MultivariateDifferentiableVectorFunction f)

Deprecated

this conversion method is temporary in version 3.1, as the DifferentiableMultivariateVectorFunction interface itself is deprecated

Convert a MultivariateDifferentiableVectorFunction into a DifferentiableMultivariateVectorFunction.

Parameters
f:MultivariateDifferentiableVectorFunction

function to convert

Returns:DifferentiableMultivariateVectorFunction

converted function

Annotations
@Deprecated
toDifferentiableUnivariateFunctionback to summary
public static DifferentiableUnivariateFunction toDifferentiableUnivariateFunction(final UnivariateDifferentiableFunction f)

Deprecated

this conversion method is temporary in version 3.1, as the DifferentiableUnivariateFunction interface itself is deprecated

Convert a UnivariateDifferentiableFunction into a DifferentiableUnivariateFunction.

Parameters
f:UnivariateDifferentiableFunction

function to convert

Returns:DifferentiableUnivariateFunction

converted function

Annotations
@Deprecated
toMultivariateDifferentiableFunctionback to summary
public static MultivariateDifferentiableFunction toMultivariateDifferentiableFunction(final DifferentiableMultivariateFunction f)

Deprecated

this conversion method is temporary in version 3.1, as the DifferentiableMultivariateFunction interface itself is deprecated

Convert a DifferentiableMultivariateFunction into a MultivariateDifferentiableFunction.

Note that the converted function is able to handle DerivativeStructure elements that all have the same number of free parameters and order, and with order at most 1. If the function is called with inconsistent numbers of free parameters or higher order, a DimensionMismatchException or a NumberIsTooLargeException will be thrown.

Parameters
f:DifferentiableMultivariateFunction

function to convert

Returns:MultivariateDifferentiableFunction

converted function

Annotations
@Deprecated
toMultivariateDifferentiableVectorFunctionback to summary
public static MultivariateDifferentiableVectorFunction toMultivariateDifferentiableVectorFunction(final DifferentiableMultivariateVectorFunction f)

Deprecated

this conversion method is temporary in version 3.1, as the DifferentiableMultivariateFunction interface itself is deprecated

Convert a DifferentiableMultivariateVectorFunction into a MultivariateDifferentiableVectorFunction.

Note that the converted function is able to handle DerivativeStructure elements that all have the same number of free parameters and order, and with order at most 1. If the function is called with inconsistent numbers of free parameters or higher order, a DimensionMismatchException or a NumberIsTooLargeException will be thrown.

Parameters
f:DifferentiableMultivariateVectorFunction

function to convert

Returns:MultivariateDifferentiableVectorFunction

converted function

Annotations
@Deprecated
toUnivariateDifferentialback to summary
public static UnivariateDifferentiableFunction toUnivariateDifferential(final DifferentiableUnivariateFunction f)

Deprecated

this conversion method is temporary in version 3.1, as the DifferentiableUnivariateFunction interface itself is deprecated

Convert a DifferentiableUnivariateFunction into a UnivariateDifferentiableFunction.

Note that the converted function is able to handle DerivativeStructure up to order one. If the function is called with higher order, a NumberIsTooLargeException is thrown.

Parameters
f:DifferentiableUnivariateFunction

function to convert

Returns:UnivariateDifferentiableFunction

converted function

Annotations
@Deprecated