Interface NonLinearParameterTransforms
-
- All Known Implementing Classes:
UncoupledParameterTransforms
public interface NonLinearParameterTransforms
Describes the transformation (and its inverse) from a set of n variables (e.g. model parameters) to a set of m variables (e.g. fitting parameters), where m <= n.The principle use is in constrained optimisation, where the valid values of the parameters of a model live in some hyper-volume in R^n, but we wish to work with unconstrained variables in R^m.The model parameters are denoted as y and the unconstrained variables as y*, which are related by the vector function y* = f(y), and its inverse y = f-1(y*). The i,j element of the Jacobian is the rate of change of the ith element of y* with respect to the j th element of y, which is a (matrix) function of y, i.e. J(y). The inverse Jacobian is the rate of change of y with respect to y*, i.e. J-1(y*). These four functions must be provided by implementations of this interface.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getNumberOfFittingParameters()
int
getNumberOfModelParameters()
DoubleMatrix
inverseJacobian(DoubleArray fittingParameters)
Calculates the inverse Jacobian - the rate of change of the model parameters WRT the fitting parameters.DoubleArray
inverseTransform(DoubleArray fittingParameters)
Transforms from a set of unconstrained fitting parameters to a (possibly larger) set of function parameters.DoubleMatrix
jacobian(DoubleArray modelParameters)
Calculates the Jacobian - the rate of change of the fitting parameters WRT the model parameters.DoubleArray
transform(DoubleArray modelParameters)
Transforms from a set of model parameters to a (possibly smaller) set of unconstrained fitting parameters.
-
-
-
Method Detail
-
getNumberOfModelParameters
int getNumberOfModelParameters()
-
getNumberOfFittingParameters
int getNumberOfFittingParameters()
-
transform
DoubleArray transform(DoubleArray modelParameters)
Transforms from a set of model parameters to a (possibly smaller) set of unconstrained fitting parameters.- Parameters:
modelParameters
- the model parameters- Returns:
- The fitting parameters
-
inverseTransform
DoubleArray inverseTransform(DoubleArray fittingParameters)
Transforms from a set of unconstrained fitting parameters to a (possibly larger) set of function parameters.- Parameters:
fittingParameters
- The fitting parameters- Returns:
- The model parameters
-
jacobian
DoubleMatrix jacobian(DoubleArray modelParameters)
Calculates the Jacobian - the rate of change of the fitting parameters WRT the model parameters.- Parameters:
modelParameters
- The model parameters- Returns:
- The Jacobian
-
inverseJacobian
DoubleMatrix inverseJacobian(DoubleArray fittingParameters)
Calculates the inverse Jacobian - the rate of change of the model parameters WRT the fitting parameters.- Parameters:
fittingParameters
- The fitting parameters- Returns:
- the inverse Jacobian
-
-