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 TypeMethodDescriptiondoubleget()Equivalent toget(new double[0]).doubleget(double x0) Equivalent toget(new double[] {x0}).doubleget(double... x) Returns the result of this function for the given arguments: f(x0, x1, ..., xx.length-1).doubleget(double x0, double x1) Equivalent toget(new double[] {x0, x1}).doubleget(double x0, double x1, double x2) Equivalent toget(new double[] {x0, x1, x2}).doubleget(double x0, double x1, double x2, double x3) Equivalent toget(new double[] {x0, x1, x2, x3}).static FuncgetInstance(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 ofgetInstancemethod.parent()Returns the parent function of this one: the first argument ofgetInstancemethod.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.IDENTITYor 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 ofgetInstancemethod.- Returns:
- the parent function of this one.
-
operator
Returns the operator, used while building this transformed function: the second argument ofgetInstancemethod.- Returns:
- the operator, used while building this transformed function.
-
get
public double get(double... x) Description copied from interface:FuncReturns 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:FuncEquivalent 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:FuncEquivalent 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:FuncEquivalent 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:FuncEquivalent 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:FuncEquivalent 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.
-