Class CoordinateTransformedFunc
- All Implemented Interfaces:
Func
A function, the arguments of which are transformed by some
coordinate transformation operator
in n-dimensional Euclidean space.
It is built on the base of some parent function f and
some coordinate transformation operator
O.
This function g is the following:
CoordinateTransformationOperator.map(double[], double[])
method
to x array.
In other words, the basic get(double[] x)
method of this instance is equivalent to
the following code:
double[] y = new double[x.length]; operator.map
(y, x); return parent.get
(y);
This class is immutable and thread-safe: there are no ways to modify settings of the created instance.
- Author:
- Daniel Alievsky
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.algart.math.functions.Func
Func.Updatable
-
Field Summary
Fields inherited from interface net.algart.math.functions.Func
ABS, ABS_DIFF, HALF_X_MINUS_Y, HALF_X_PLUS_Y, HALF_Y_MINUS_X, IDENTITY, MAX, MIN, POSITIVE_DIFF, REVERSE, SELECT, SELECT_FROM_8_DIRECTIONS_2D, SELECT_IF_GREATER, SELECT_IF_GREATER_OR_EQUAL, SHIFTS_ALONG_8_DIRECTIONS_2D, UPDATABLE_IDENTITY, X_MINUS_Y, X_PLUS_Y, Y_MINUS_X
-
Method Summary
Modifier and TypeMethodDescriptiondouble
get()
Equivalent toget
(new double[0]).double
get
(double x0) Equivalent toget
(new double[] {x0}).double
get
(double... x) Returns the result of this function for the given arguments: f(x0, x1, ..., xx.length-1).double
get
(double x0, double x1) Equivalent toget
(new double[] {x0, x1}).double
get
(double x0, double x1, double x2) Equivalent toget
(new double[] {x0, x1, x2}).double
get
(double x0, double x1, double x2, double x3) Equivalent toget
(new double[] {x0, x1, x2, x3}).static Func
getInstance
(Func parent, CoordinateTransformationOperator operator) Returns an instance of this class for the given parent function and operator.operator()
Returns the operator, used while building this transformed function: the second argument ofgetInstance
method.parent()
Returns the parent function of this one: the first argument ofgetInstance
method.toString()
Returns a brief string description of this object.
-
Method Details
-
getInstance
Returns an instance of this class for the given parent function and operator. (If operator isOperator.IDENTITY
or equivalent, this method may return the parent argument.)The result is almost always an instance of this class, but there is an exception: if operator is an identity operator, which does not change the passed parent function at all, this method can just return parent argument.
- Parameters:
parent
- the parent function.operator
- the operator, transforming the arguments of this function before passing them to the parent one.- Returns:
- new function.
- Throws:
NullPointerException
- if one of the arguments is null.
-
parent
Returns the parent function of this one: the first argument ofgetInstance
method.- Returns:
- the parent function of this one.
-
operator
Returns the operator, used while building this transformed function: the second argument ofgetInstance
method.- Returns:
- the operator, used while building this transformed function.
-
get
public double get(double... x) Description copied from interface:Func
Returns the result of this function for the given arguments: f(x0, x1, ..., xx.length-1).This method must not change the values of x elements!
-
get
public double get()Description copied from interface:Func
Equivalent toget
(new double[0]). Provides better performance because it does not require Java array creation. -
get
public double get(double x0) Description copied from interface:Func
Equivalent toget
(new double[] {x0}). Provides better performance because it does not require Java array creation. -
get
public double get(double x0, double x1) Description copied from interface:Func
Equivalent toget
(new double[] {x0, x1}). Provides better performance because it does not require Java array creation. -
get
public double get(double x0, double x1, double x2) Description copied from interface:Func
Equivalent toget
(new double[] {x0, x1, x2}). Provides better performance because it does not require Java array creation. -
get
public double get(double x0, double x1, double x2, double x3) Description copied from interface:Func
Equivalent toget
(new double[] {x0, x1, x2, x3}). Provides better performance because it does not require Java array creation. -
toString
Returns a brief string description of this object.
-