| ModifiedLevenbergMarquardtMinimizerMinimize(DoubleMultiVariableFunction, DoubleVector, Double) Method |
Minimizes the L2 norm of the given function near the given starting point.
Namespace: CenterSpace.NMath.CoreAssembly: NMath (in NMath.dll) Version: 7.4
Syntax public DoubleVector Minimize(
DoubleMultiVariableFunction f,
DoubleVector x0,
double mu0
)
Public Function Minimize (
f As DoubleMultiVariableFunction,
x0 As DoubleVector,
mu0 As Double
) As DoubleVector
public:
DoubleVector^ Minimize(
DoubleMultiVariableFunction^ f,
DoubleVector^ x0,
double mu0
)
member Minimize :
f : DoubleMultiVariableFunction *
x0 : DoubleVector *
mu0 : float -> DoubleVector
Parameters
- f DoubleMultiVariableFunction
- Function whose norm is to be minimized.
- x0 DoubleVector
- Starting point for the iteration.
- mu0 Double
- Initial value for mu in the Modified Levenberg Marquardt algorithm.
The default value is 1e-5.
Return Value
DoubleVectorThe solution.
Remarks
The value mu is used in the LM algorithm as follows:
At the kth iteration with current solution = xk, denote:
Jk == J(xk), the Jacobian value at xk,
Fk = F(xk), the value of the objective function at xk,
muk = the value of mu at iteration k.
Then the Levenberg Marquardt step dk is defined as the
solution to the linear system:
(Jk'*Jk - lambdak*I)dk = -Jk*Fk, lambak = muk*||Fk||.
See Also