DSDP
|
Implements the dual-scaling algorithm. More...
Go to the source code of this file.
Functions | |
int | DSDPChooseBarrierParameter (DSDP, double, double *, double *) |
DSDP barrier heuristic choses the smalles value of mu such that X>0. More... | |
int | DSDPComputeAndFactorS (DSDP dsdp, DSDPTruth *psdefinite) |
Compute and factor the dual matrix variables. More... | |
int | DSDPComputeDualStepDirections (DSDP dsdp) |
Compute the step direction by computing a linear system and solving it. More... | |
int | DSDPInitializeVariables (DSDP dsdp) |
Initialize variables and factor S. More... | |
int | DSDPResetY0 (DSDP) |
After 1 iteration, consider increasing the variable r. More... | |
int | DSDPSolveDynamicRho (DSDP dsdp) |
Apply dual-scaling algorithm. More... | |
int | DSDPYStepLineSearch (DSDP, double, double, DSDPVec) |
Used for Newton step, the merit function of this line search is the dual potential function. More... | |
int | DSDPYStepLineSearch2 (DSDP, double, double, DSDPVec) |
Used for centering steps, the merit function of this line search is the objective function plus the barrier term. More... | |
Implements the dual-scaling algorithm.
Definition in file dualalg.c.
int DSDPChooseBarrierParameter | ( | DSDP | dsdp, |
double | mutarget, | ||
double * | ppstep, | ||
double * | nextmutarget | ||
) |
DSDP barrier heuristic choses the smalles value of mu such that X>0.
dsdp | solver |
mutarget | current barrier parameter |
ppstep | set to primal step length |
nextmutarget | set to new target barrier parameter This routine implements a dynamic strategy for reducing the barrier parameter. Basically, it looks for the smallest barrier parameter for which the primal matrix X is psd. Lower and upper bounds to this parameter also apply. |
Definition at line 240 of file dualalg.c.
Referenced by DSDPSolveDynamicRho().
int DSDPComputeDualStepDirections | ( | DSDP | dsdp | ) |
Compute the step direction by computing a linear system and solving it.
dsdp | the solver |
DSDP first attempts unpreconditioned CG to the matrix. Once the number of iterations becomes too large, it swithes a CG preconditioned by the Cholesky factorization. Usually only one iteration of the preconditioned CG is necessary, but solutions with large norms and very precise solutions may require additional iterations.
Definition at line 370 of file dualalg.c.
Referenced by DSDPSolveDynamicRho().
int DSDPInitializeVariables | ( | DSDP | dsdp | ) |
Initialize variables and factor S.
dsdp | the solver |
Definition at line 475 of file dualalg.c.
Referenced by DSDPSolve().
int DSDPResetY0 | ( | DSDP | dsdp | ) |
After 1 iteration, consider increasing the variable r.
dsdp | solver |
Definition at line 328 of file dualalg.c.
Referenced by DSDPSolveDynamicRho().
int DSDPSolveDynamicRho | ( | DSDP | dsdp | ) |
Apply dual-scaling algorithm.
dsdp | the solver |
Definition at line 121 of file dualalg.c.
Referenced by DSDPSolve().
Used for Newton step, the merit function of this line search is the dual potential function.
dsdp | the solver |
mutarget | barrier parameter |
dstep0 | initial step length |
dy | step direction |
Definition at line 24 of file dualalg.c.
Referenced by DSDPSolveDynamicRho().
Used for centering steps, the merit function of this line search is the objective function plus the barrier term.
dsdp | the solver |
mutarget | barrier parameter |
dstep0 | initial step length |
dy | step direction |
Definition at line 73 of file dualalg.c.
Referenced by DSDPSolveDynamicRho().