Definition in file dsdpschurmat.h.
Go to the source code of this file.
Typedefs | |
typedef DSDPSchurMat_C | DSDPSchurMat |
This object represents the Schur Matrix. Its structure is opaque to the DSDP solver, but it must implement the interface below and provide a structure of function pointers. | |
Functions | |
int | DSDPSchurMatAddDiagonal (DSDPSchurMat, DSDPVec) |
Add elements to a row of the Schur matrix. | |
int | DSDPSchurMatAddDiagonalElement (DSDPSchurMat, int, double) |
Determine with the cone should compute this diagonal element of M and RHS. | |
int | DSDPSchurMatAddR (DSDPSchurMat, int, double) |
Add an element to the Schur matrix correponding the variable r. | |
int | DSDPSchurMatAddRow (DSDPSchurMat, int, double, DSDPVec) |
Add elements to a row of the Schur matrix. | |
int | DSDPSchurMatAssemble (DSDPSchurMat) |
Final assembly of M. | |
int | DSDPSchurMatDestroy (DSDPSchurMat *) |
Free the memory in the data structure. | |
int | DSDPSchurMatDiagonalScaling (DSDPSchurMat, DSDPVec) |
Get the scaling and nonzero pattern of each diagonal element of the matrix. | |
int | DSDPSchurMatFactor (DSDPSchurMat, DSDPTruth *) |
Factor M. | |
int | DSDPSchurMatInitialize (DSDPSchurMat *) |
Initialize pointers to null. | |
int | DSDPSchurMatInParallel (DSDPSchurMat, DSDPTruth *) |
Determine whether M is computed in parallel. | |
int | DSDPSchurMatMultiply (DSDPSchurMat, DSDPVec, DSDPVec) |
Multiply M by a vector. y = M x. | |
int | DSDPSchurMatReducePVec (DSDPSchurMat, DSDPVec) |
Collect elements of the vector. | |
int | DSDPSchurMatRowColumnScaling (DSDPSchurMat, int, DSDPVec, int *) |
Get the scaling and nonzero pattern of each column in this row of the matrix. | |
int | DSDPSchurMatRowScaling (DSDPSchurMat, DSDPVec) |
Identify which rows on on this processor. | |
int | DSDPSchurMatSetData (DSDPSchurMat *, struct DSDPSchurMat_Ops *, void *) |
Set the Schur matrix with an opaque pointer and structure of function pointers. | |
int | DSDPSchurMatSetR (DSDPSchurMat, double) |
Set up the data structure. | |
int | DSDPSchurMatSetup (DSDPSchurMat, DSDPVec) |
Set up the data structure. | |
int | DSDPSchurMatShiftDiagonal (DSDPSchurMat, double) |
Add a scalar to each diagonal element of the matrix. | |
int | DSDPSchurMatSolve (DSDPSchurMat, DSDPVec, DSDPVec) |
Solve the linear system. | |
int | DSDPSchurMatVariableCompute (DSDPSchurMat, int, double *) |
Determine with the cone should compute this diagonal element of M and RHS. | |
int | DSDPSchurMatVariableComputeR (DSDPSchurMat, double *) |
Add an element to the Schur matrix correponding the variable r. | |
int | DSDPSchurMatView (DSDPSchurMat) |
Print the matrix. | |
int | DSDPSchurMatZeroEntries (DSDPSchurMat) |
Zero all element in the matrix. |
|
This object represents the Schur Matrix. Its structure is opaque to the DSDP solver, but it must implement the interface below and provide a structure of function pointers.
Definition at line 49 of file dsdpschurmat.h. |
|
Add elements to a row of the Schur matrix.
Definition at line 272 of file dsdpschurmatadd.c. |
|
Determine with the cone should compute this diagonal element of M and RHS.
Definition at line 157 of file dsdpschurmatadd.c. |
|
Add an element to the Schur matrix correponding the variable r.
Definition at line 198 of file dsdpschurmatadd.c. |
|
Add elements to a row of the Schur matrix.
Definition at line 76 of file dsdpschurmatadd.c. Referenced by DSDPAddSchurRow(), and SDPConeComputeHessian(). |
|
Final assembly of M.
Definition at line 174 of file dsdpschurmat.c. Referenced by DSDPComputeHessian(). |
|
Free the memory in the data structure.
Definition at line 414 of file dsdpschurmat.c. Referenced by DSDPTakeDown(). |
|
Get the scaling and nonzero pattern of each diagonal element of the matrix.
Definition at line 235 of file dsdpschurmatadd.c. Referenced by DSDPSchurMatRowScaling(). |
|
Factor M.
Definition at line 196 of file dsdpschurmat.c. Referenced by DSDPComputeDualStepDirections(). |
|
Initialize pointers to null.
Definition at line 79 of file dsdpschurmat.c. Referenced by DSDPCreate(). |
|
Determine whether M is computed in parallel.
Definition at line 149 of file dsdpschurmat.c. Referenced by DSDPSchurMatDiagonalScaling(), DSDPSchurMatReducePVec(), and DSDPSchurMatVariableCompute(). |
|
Multiply M by a vector. y = M x.
Definition at line 231 of file dsdpschurmat.c. |
|
Collect elements of the vector.
Definition at line 307 of file dsdpschurmat.c. Referenced by DSDPComputeG(), DSDPComputeHessian(), and DSDPHessianMultiplyAdd(). |
|
Get the scaling and nonzero pattern of each column in this row of the matrix.
Definition at line 33 of file dsdpschurmatadd.c. Referenced by SDPConeComputeHessian(). |
|
Identify which rows on on this processor.
Definition at line 399 of file dsdpschurmat.c. Referenced by DSDPComputeG(), and DSDPHessianMultiplyAdd(). |
|
Set the Schur matrix with an opaque pointer and structure of function pointers.
Definition at line 28 of file dsdpschurmat.c. Referenced by DSDPSchurMatDestroy(), DSDPSchurMatInitialize(), and DSDPSetSchurMatOps(). |
|
Set up the data structure.
Definition at line 338 of file dsdpschurmat.c. Referenced by DSDPComputeG(), DSDPComputeHessian(), and DSDPComputeNewY(). |
|
Set up the data structure.
Definition at line 352 of file dsdpschurmat.c. Referenced by DSDPSetup(). |
|
Add a scalar to each diagonal element of the matrix.
Definition at line 120 of file dsdpschurmat.c. Referenced by DSDPComputeDualStepDirections(). |
|
Solve the linear system.
Definition at line 466 of file dsdpschurmat.c. Referenced by DSDPCGSolve(). |
|
Determine with the cone should compute this diagonal element of M and RHS.
Definition at line 120 of file dsdpschurmatadd.c. Referenced by DSDPObjectiveGH(). |
|
Add an element to the Schur matrix correponding the variable r.
Definition at line 181 of file dsdpschurmatadd.c. |
|
Print the matrix.
Definition at line 376 of file dsdpschurmat.c. Referenced by DSDPComputeDualStepDirections(). |
|
Zero all element in the matrix.
Definition at line 97 of file dsdpschurmat.c. Referenced by DSDPComputeHessian(). |