CONOPT
Loading...
Searching...
No Matches

Functions

void LeastSq10ModelData.buildModel ()
 adds variables and constraints to the model
 
double LeastSq10ModelData.evaluateNonlinearTerm (double[] x, int rowno, boolean ignerr, int thread)
 callback method for evaluating the nonlinear terms in a given row
 
void LeastSq10ModelData.evaluateNonlinearJacobian (double[] x, double[] jac, int rowno, int[] jacnum, boolean ignerr, int thread)
 callback method for evaluating the jacobian for the nonlinear terms in a given row
 
void LeastSq10ModelData.initDirectionalSDEval (double[] x, double[] dx, int[] rowlist, int numthread, boolean newpoint)
 a callback for the initialisation of the second derivative evaluation.
 
void LeastSq10ModelData.evaluateDirectionalSD (double[] x, double[] dx, double[] d2g, int rowno, int[] jacnum, int thread)
 computes the directional second derivative for a single constraint
 

Detailed Description

This model is similar to leastsq5, but this time we define 2nd order directional information in the form of both an 2DDirIni routine where the bulk of the work is done and a 2DDir routine that just copies the information.

We solve the following nonlinear least squares model:

\[ \min \sum_i res_{i}^2 \!! \sum_j ( a_{ij}x_j + b_{ij}x_j^2 ) + res_i = obs_i \]

where \(a\), \(b\), and \(obs\) are known data, and \(res\) and \(x\) are the variables of the model.

For more information about the individual callbacks, please have a look at the source code.

Function Documentation

◆ buildModel()

void LeastSq10ModelData.buildModel ( )
inline

adds variables and constraints to the model

Definition at line 118 of file leastsq10.java.

◆ evaluateNonlinearTerm()

double LeastSq10ModelData.evaluateNonlinearTerm ( double[] x,
int rowno,
boolean ignerr,
int thread )
inline

callback method for evaluating the nonlinear terms in a given row

Parameters
xthe solution vector that needs to be evaluated.
rownothe number for the row in which the nonlinear term exists.
ignerra boolean to indicate whether the current point is safe or unsafe.
threadthe index of the thread from which this method is being called from.
Returns
the value of the nonlinear terms.

Notes: an error in the evaluation is reported by calling errorInEvaluation()

Definition at line 185 of file leastsq10.java.

◆ evaluateNonlinearJacobian()

void LeastSq10ModelData.evaluateNonlinearJacobian ( double[] x,
double[] jac,
int rowno,
int[] jacnum,
boolean ignerr,
int thread )
inline

callback method for evaluating the jacobian for the nonlinear terms in a given row

Parameters
xthe solution vector that needs to be evaluated.
jacan array to store the Jacobian at the given point and row. This is of length numVar().
rownothe number for the row in which the nonlinear term exists.
jacnumvector with a list of column numbers for the nonlinear nonzero Jacobian elements in the row.
ignerra boolean to indicate whether the current point is safe or unsafe.
threadthe index of the thread from which this method is being called from.

Note: an error in the evaluation is reported by calling errorInEvaluation()

Definition at line 211 of file leastsq10.java.

◆ initDirectionalSDEval()

void LeastSq10ModelData.initDirectionalSDEval ( double[] x,
double[] dx,
int[] rowlist,
int numthread,
boolean newpoint )
inline

a callback for the initialisation of the second derivative evaluation.

This method is called before a sequence of calls to evaluateDirectionalSD(). The user can utilise this method for evaluating common terms and storing important information.

Parameters
xthe solution vector that needs to be evaluated.
dxvector with the direction in which the directional second derivatives should be computed.
rowlistthe list of rows that will be evaluated for the given point.
numthreadthe number of threads that will be used for the following FDEval calls.
newpointa boolean to indicate whether x has changed. If newpoint is false, the values of dx may have changed.

Note: an error in the evaluation is reported by calling errorInEvaluation()

Definition at line 232 of file leastsq10.java.

◆ evaluateDirectionalSD()

void LeastSq10ModelData.evaluateDirectionalSD ( double[] x,
double[] dx,
double[] d2g,
int rowno,
int[] jacnum,
int thread )
inline

computes the directional second derivative for a single constraint

Parameters
xthe solution vector that needs to be evaluated.
dxvector with the direction in which the directional second derivatives should be computed.
d2gan array to store the directional second derivative for a single constraint at the given point and row. This is of length numVar().
rownothe number for the row in which the nonlinear term exists.
jacnumvector with a list of column numbers for the nonlinear nonzero Jacobian elements in the row.
threadthe index of the thread from which this method is being called from.

Note: an error in the evaluation is reported by calling errorInEvaluation()

Definition at line 250 of file leastsq10.java.