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 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