# File numerics/src/LCP/lcp_newton_FB.h¶

Go to the source code of this file

functions to solve LCP using a Newton method on the nonsmooth equation reformulation

Functions

void FB_compute_F_lcp(void *data_opaque, double *z, double *w)

Compute F(z) = Mz + q.

Parameters
void FB_compute_H_lcp(void *data_opaque, double *z, double *w, double *workV1, double *workV2, NumericsMatrix *H)

Compute an element of JacF_FB, see Facchinei&#8212;Pang p.

808

Parameters
• data_opaque – a LinearComplementarityProblem but casted

• z[in] non-basic variable

• w[in] basic variable

• workV1 – work vector which contains “z”

• workV2 – work vector

• H[out] an element of JacF_FB

void FB_compute_error_lcp(void *data_opaque, double *z, double *w, double *notused, double tol, double *err)

Compute the error for termination, here lcp_compute_error.

Parameters
• data_opaque – a LinearComplementarityProblem but casted

• z[in] non-basic variable

• w[in] basic variable

• notused – not used here

• tol[in] the tolerance

• err[out] the error on the LCP (not FB)

void lcp_FB(void *data_opaque, double *z, double *F, double *F_FB)

Compute F_FB : $${F_FB}_i = \sqrt(z_i^2 + F_i^2) - (z_i + F_i)$$.

Parameters
• data_opaque – a LinearComplementarityProblem but casted

• z[in] current value for z

• F[in] current value for w

• F_FB[out] value of the function