LevenbergMarquardt2D Class |
f(x,y) = ||fv(x,y)||
It is using a Levenberg-Marquardt method or a Newton-Raphson method, according to UseLm.
Finding zeros of a nonlinear system of equations, i.e.fv(x,y) = [0,0]
If the Jacobian is available, it can be provided, otherwise it works by numerically calculating the Jacobian.
Namespace: DHI.Mike1D.Generic.MathAlgorithms
The LevenbergMarquardt2D type exposes the following members.
Name | Description | |
---|---|---|
LevenbergMarquardt2D(LevenbergMarquardt2DFunction) |
Constructor for minimizing/finding zeros of the function | |
LevenbergMarquardt2D(LevenbergMarquardt2DFunction, LevenbergMarquardt2DFunction) |
Constructor for minimizing/finding zeros of the function The jacobian must return a vector containing the coefficients [df1_dx1, df1_dx2, df2_dx1, df2_dx2]. |
Name | Description | |
---|---|---|
Epsilon |
Epsilon, used in stopping criteria
Default value is 1e-9 | |
LambdaScaling |
Scaling factor in J^T*J+lambda*I, replacing
the diagonal of I by those in LambdaScaling By default they are [1,1]. They can not be negative. | |
MaxIter |
Maximum number of iterations. Default 100
| |
MaxLineSearchIter |
Maximum number of line search iterations. Default 0.
| |
NumFunctionEval |
Hold the number of function evaluations.
| |
NumIter |
Hold the actual number of iterations for the last solve.
| |
NumJacobianEval |
Hold the number of Jacobian evaluations.
| |
UseLineSearch |
Flag specifying whether a line search approach is to be used. Default false.
| |
UseLm |
Flag whether a LM algorithm should be used. Default true. If set to false
the Newton-Raphson method will be used. The Newton-Raphson method
can only be used for finding zeros, not for minimizing.
|
Name | Description | |
---|---|---|
CalcJacobian |
Calculates numerically the Jacobian
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
JacobianTest |
Calculates the 2-norm difference between the exact and the numeric jacobian,
on an element-wise basis (not matrix norm, but element/vector norm)
| |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Solve |
Minimize/Solves for zeros, using x as starting point
and updating the value of x as a result.
| |
SwapT |
Swapping two elements.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) |