Package net.algart.math.functions
package net.algart.math.functions
Abstraction of any mathematical functions and operators and some their implementations.
- Author:
- Daniel Alievsky
-
ClassDescriptionA skeletal implementation of the
CoordinateTransformationOperator
interface to minimize the effort required to implement this interface.A skeletal implementation of theFunc
interface to minimize the effort required to implement this interface.A function, transformed byApertureFilterOperator
in n-dimensional Euclidean space.Aperture filtering operator in n-dimensional Euclidean space:g(x) = O f(x) = apertureFunc(f(x+a0), f(x+a1), ..., f(x+am-1)) , where x is a point of the n-dimensional space, apertureFunc is some function with m arguments (the aperture function), {ai} is a set of points with (usually) little coordinates (the aperture), f is the source mathematical function and g is the result of applying the operator to f.Trivial constant function: f(x0, x1, ..., xn-1) = c, where c is a constant.Contrasting function: by default, f(x0, x1, x2, x3) = M * (x0/x1) * (x−x2) / max(x3−x2,threshold), wherex = (x1<x2 ? x2 : x1>x3 ? x3 : x1) is x1, truncated to x2..x3 range, M and threshold are constants.Coordinate transformation operator in n-dimensional Euclidean space:g(x) = O f(x) = f(map(x)) , where x is a point of the n-dimensional space, map is some mapping of this space, f is the source mathematical function and g is the result of applying the operator to f.A function, the arguments of which are transformed by somecoordinate transformation operator
in n-dimensional Euclidean space.Quotient of two numbers: f(x0, x1) = scale*x0/x1 , where scale is a constant, passed toDividingFunc.getInstance(double)
method.Exponent function: f(x0) = bx0 (b is the base of the exponent).Abstract mathematical function f(x0, x1, ..., xn-1), or f(x), where x is a point of the n-dimensional space."Updatable" mathematical function: an extension ofFunc
interface allowing assigning values to the function result, that leads to corresponding correction of arguments.Inverse function: f(x0, x1, ..., xn-1) = c/x0 (c is some constant).Updatable extension
of theinverse function
.Linear function: f(x0, x1, ..., xn-1) = b + a0x0 + a1x1 +...+ an-1xn-1.Updatable extension
of thelinear function
with one argument.Linear operator (affine transformation):O f(x) = f(Ax + b) , where the numeric n x n matrix A and the n-dimensional vector b are parameters of the transformation.Logarithm function: f(x0) = logb(x0) (b is the base of the logarithm).Maximum from 2 arguments, selected by 1st argument: f(x0, x1, ..., xn-1) = max(xi+1, xj+1),i=(int)x[0] (x0 cast to integer type), j=(i−1+indexShift)%(n−1)+1 , where indexShift is an integer constant, passed toMaxFromTwoSelectedNumbersFunc.getInstance(int)
method.Minimum from 2 arguments, selected by 1st argument: f(x0, x1, ..., xn-1) = min(xi+1, xj+1),i=(int)x[0] (x0 cast to integer type), j=(i−1+indexShift)%(n−1)+1 , where indexShift is an integer constant, passed toMinFromTwoSelectedNumbersFunc.getInstance(int)
method.Product from several numbers: f(x0, x1, ..., xn-1) = scale*x0x1...xn-1, where scale is a constant, passed toMultiplyingFunc.getInstance(double)
method.Abstract operator: a transformation from onemathematical function
to another.Power function: f(x0, x1) = scale*x0x1 or f(x0) = scale*x0c, where c and scale are constants.Updatable extension
of thepower function
with one argument.Projective operator (projective transformation):O f(x) = f(y) ,yi = (aix + bi) / (cx + d) (ai means the line i of the matrix A), where the numeric n x n matrix A, the n-dimensional vectors b and c and the number d are parameters of the transformation.Absolute value function: f(x0) = in if min<=x0<=max and f(x0) = out in other case, where min, max, in, out are parameters of this function.Selecting constant function: f(x0, x1, ..., xn-1) = values[(int)x0], where values is the given array of constants.Weighted mean of 2 numbers: f(x0, x1, x2) = scale*x0x1 + (1-scale*x0)x2, where scale is a constant, passed toWeightedMeanFunc.getInstance(double)
method.