DSDP
|
Dual-scaling operations needed in the solver. More...
Go to the source code of this file.
Functions | |
int | DSDPComputeDualityGap (DSDP dsdp, double mu, double *gap) |
Compute the current duality gap. More... | |
int | DSDPComputeDY (DSDP dsdp, double mu, DSDPVec DY, double *pnorm) |
Compute the step direction. More... | |
int | DSDPComputeNewY (DSDP dsdp, double beta, DSDPVec Y) |
Update the Y variables. More... | |
int | DSDPComputeObjective (DSDP dsdp, DSDPVec Y, double *ddobj) |
Compute the objective function (DD). More... | |
int | DSDPComputePDY (DSDP dsdp, double mu, DSDPVec DY, double *pnorm) |
Compute the step direction. More... | |
int | DSDPComputePDY1 (DSDP dsdp, double mur, DSDPVec DY1) |
Compute an affine step direction dy1. More... | |
int | DSDPComputePNorm (DSDP dsdp, double mu, DSDPVec DY, double *pnorm) |
Compute proximity to a point on the central path. More... | |
int | DSDPComputePotential (DSDP dsdp, DSDPVec y, double logdet, double *potential) |
Compute the potential of the given point. More... | |
int | DSDPComputePotential2 (DSDP dsdp, DSDPVec y, double mu, double logdet, double *potential) |
Compute the objective function plus the barrier function. More... | |
int | DSDPComputePY (DSDP dsdp, double beta, DSDPVec PY) |
Compute PY = Y - beta DY for use in computing X. More... | |
int | DSDPComputeRHS (DSDP dsdp, double mu, DSDPVec RHS) |
Compute the right-hand side of the linear system that determines the step direction. More... | |
int | DSDPGetRR (DSDP dsdp, double *res) |
Get variable r. More... | |
int | DSDPObjectiveGH (DSDP dsdp, DSDPSchurMat M, DSDPVec vrhs1) |
Compute gradient of dual objective. More... | |
int | DSDPSetRR (DSDP dsdp, double res) |
Set variable r. More... | |
int | DSDPSetY (DSDP dsdp, double beta, double logdet, DSDPVec ynew) |
Update the solver with these y variables. More... | |
Dual-scaling operations needed in the solver.
Definition in file dualimpl.c.
int DSDPComputeDualityGap | ( | DSDP | dsdp, |
double | mu, | ||
double * | gap | ||
) |
Compute the current duality gap.
dsdp | the solver |
mu | barrier parameter |
gap | the duality gap |
Definition at line 230 of file dualimpl.c.
Compute the step direction.
dsdp | the solver |
mu | barrier parameter |
DY | Step direction |
pnorm | distance to the target |
Assuming the affine direction and centering direction have alread been computed, combine them with the appropriate barrier parameter.
Definition at line 45 of file dualimpl.c.
Referenced by DSDPComputeDualityGap(), and DSDPResetY0().
Update the Y variables.
dsdp | the solver |
beta | step length |
Y | the new solution |
Add a multiple of the step direction to the current solution.
Definition at line 125 of file dualimpl.c.
Referenced by DSDPYStepLineSearch().
Compute the objective function (DD).
dsdp | is the solver |
Y | Current variables |
ddobj | objective value |
Definition at line 21 of file dualimpl.c.
Referenced by DSDPComputePotential(), DSDPComputePotential2(), and DSDPInitializeVariables().
Compute the step direction.
dsdp | the solver |
mu | barrier parameter |
DY | Step direction |
pnorm | distance to the target |
Assuming the affine direction and centering direction have alread been computed, combine them with the appropriate barrier parameter.
Definition at line 77 of file dualimpl.c.
Referenced by DSDPChooseBarrierParameter().
Compute an affine step direction dy1.
dsdp | the solver |
mur | reciprocal of barrier parameter |
DY1 | Step direction |
Assuming the affine direction has alread been computed, scale it.
Definition at line 105 of file dualimpl.c.
Referenced by DSDPChooseBarrierParameter().
Compute proximity to a point on the central path.
dsdp | the solver |
mu | barrier parameter |
DY | Newton step direction |
pnorm | the norm |
Definition at line 200 of file dualimpl.c.
Compute the potential of the given point.
dsdp | the solver |
y | variables |
logdet | logarithmic barrier function of the given point |
potential | return the potential of the given point. |
Definition at line 261 of file dualimpl.c.
Referenced by DSDPYStepLineSearch().
Compute the objective function plus the barrier function.
dsdp | the solver |
y | variables |
mu | barrier function |
logdet | logarithmic barrier function of the given point |
potential | return the potential of the given point.\ |
Definition at line 287 of file dualimpl.c.
Referenced by DSDPYStepLineSearch2().
Compute PY = Y - beta DY for use in computing X.
dsdp | the solver |
beta | step length |
PY | the new value |
Definition at line 150 of file dualimpl.c.
Referenced by DSDPChooseBarrierParameter().
Compute the right-hand side of the linear system that determines the step direction.
dsdp | the solver |
mu | barrier parameter |
RHS | right-hand side direction |
Assuming that the gradient of the objective and the gradient of the barrier have already been computed, combine them with the appropriate barrier parameter.
This vector is basically
Definition at line 177 of file dualimpl.c.
Referenced by DSDPComputeDY(), DSDPComputePDY(), and DSDPComputePNorm().
int DSDPGetRR | ( | DSDP | dsdp, |
double * | res | ||
) |
Get variable r.
dsdp | solver |
*res | set variable r |
Definition at line 361 of file dualimpl.c.
Referenced by DSDPGetR(), and DSDPInitializeVariables().
int DSDPObjectiveGH | ( | DSDP | dsdp, |
DSDPSchurMat | M, | ||
DSDPVec | vrhs1 | ||
) |
Compute gradient of dual objective.
dsdp | solver |
M | Schur matrix. |
vrhs1 | gradient vector |
Definition at line 381 of file dualimpl.c.
int DSDPSetRR | ( | DSDP | dsdp, |
double | res | ||
) |
Set variable r.
dsdp | solver |
res | variable r |
Definition at line 345 of file dualimpl.c.
Referenced by DSDPSetR0().
Update the solver with these y variables.
dsdp | the solver |
beta | most recent step length |
logdet | logarithmic barrier function of the given point |
ynew | current solution. |
Definition at line 309 of file dualimpl.c.
Referenced by DSDPYStepLineSearch().