ILIAS
Release_4_0_x_branch Revision 61816
|
Public Member Functions | |
chiSquared ($x, $a, $y, $s, $f) | |
Calculate the current sum-squared-error. | |
solve ($x, $a, $y, $s, $vary, $f, $lambda, $termepsilon, $maxiter, $verbose) | |
Minimize E = sum {(y[k] - f(x[k],a)) / s[k]}^2 The individual errors are optionally scaled by s[k]. |
Definition at line 7 of file LevenbergMarquardt.php.
LevenbergMarquardt::chiSquared | ( | $x, | |
$a, | |||
$y, | |||
$s, | |||
$f | |||
) |
Calculate the current sum-squared-error.
Chi-squared is the distribution of squared Gaussian errors, thus the name.
double[][] | $x | |
double[] | $a | |
double[] | $y, | |
double[] | $s, | |
object | $f |
Definition at line 21 of file LevenbergMarquardt.php.
References $d, $f, $x, and $y.
Referenced by solve().
LevenbergMarquardt::solve | ( | $x, | |
$a, | |||
$y, | |||
$s, | |||
$vary, | |||
$f, | |||
$lambda, | |||
$termepsilon, | |||
$maxiter, | |||
$verbose | |||
) |
Minimize E = sum {(y[k] - f(x[k],a)) / s[k]}^2 The individual errors are optionally scaled by s[k].
Note that LMfunc implements the value and gradient of f(x,a), NOT the value and gradient of E with respect to a!
x | array of domain points, each may be multidimensional |
y | corresponding array of values |
a | the parameters/state of the model |
vary | false to indicate the corresponding a[k] is to be held fixed |
s2 | sigma^2 for point i |
lambda | blend between steepest descent (lambda high) and jump to bottom of quadratic (lambda zero). Start with 0.001. |
termepsilon | termination accuracy (0.01) |
maxiter | stop and return after this many iterations if not done |
verbose | set to zero (no prints), 1, 2 |
Definition at line 57 of file LevenbergMarquardt.php.
References $f, $verbose, $x, $y, and chiSquared().