|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface Function
Methods for computing the residual vector of a function, its jacobian matrix and several
options accessor methods which control the behavior of AnalyticProblems.marquardt(int, int, float[], float[], float[][], numal.lowprecision.Function, float[])
to evaluate the properties of a given function f(x[i],par) with n parameters par over a set
of point {x[i],y[i]) where i=1 to m.
| Method Summary | |
|---|---|
void |
computeJacobian(int m,
int n,
float[] parameter,
float[] rv,
float[][] jac)
Get the partial derivatives jac[i][j] = drv[i]/dpar[j], obtained with the current values of the parameters. |
boolean |
computeResidualVector(int m,
int n,
float[] parameter,
float[] rv)
Get residual vector rv[i] = f(x[i],par) - y[i]. |
float |
getAbsoluteTolerance()
Absolute tolerance for the difference between the Euclidian norm of the ultimate and penultimate residual vector (value of epsilon_a) the process is terminated if the improvement of the sum of the squares is less than relativeTolerance*(sum of the squares)+absoluteTolerance*absoluteTolerance |
float[] |
getAnalyticValues(int m,
float[] parameter)
Get the analytic values of the function for the given set of parameters and for all abcissa. |
int |
getInvocations()
Maximum allowed number of invocations of computeResidualVector(int, int, float[], float[]) |
float |
getMachinePrecision()
Machine precision |
float |
getRelativeTolerance()
Relative tolerance for the difference between the Euclidian norm of the ultimate and penultimate residual vector (value of epsilon_re) (see absoluteTolerance) |
float |
getStartingValue()
Starting value used for the relation between the gradient and the Gauss-Newton direction (value of ξ); if the problem is well conditioned then a suitable value for startingValue will be 0.01; if the problem is ill conditioned then startingValue should be greater, but the value of startingValue must satisfy : machinePrecision < startingValue ≤ 1 / machinePrecision |
| Method Detail |
|---|
float[] getAnalyticValues(int m,
float[] parameter)
m - number of sample points used in the fittingparameter - an array of function parameters
boolean computeResidualVector(int m,
int n,
float[] parameter,
float[] rv)
m - number of sample points used in the fittingn - number of parameters, must be less than or equal to mparameter - input: current values of parameters (shouldn't be altered by funct)rv - output: residual vector obtained with current value of parameters; i.e f(x[i],par) - y[i]
void computeJacobian(int m,
int n,
float[] parameter,
float[] rv,
float[][] jac)
AnalyticProblems.marquardt(int, int, float[], float[], float[][], numal.lowprecision.Function, float[]).
POSTCONDITION: parameter array must not be altered.
m - number of sample points used in the fittingn - number of parameters, must be less than or equal to the number of sample pointsparameter - input: current values of parametersrv - output: residual vector obtained with current value of parameters; i.e f(x[i],parameter) - y[i]jac - output: partial derivatives drv[i]/dparameter[j], obtained with the current values of the parametersint getInvocations()
computeResidualVector(int, int, float[], float[])
float getMachinePrecision()
float getRelativeTolerance()
float getAbsoluteTolerance()
float getStartingValue()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||