DSDP
Data Structures | Typedefs | Functions
dsdpdualmat.h File Reference

The interface between the SDPCone and the matrix S. More...

Go to the source code of this file.

Data Structures

struct  DSDPDualMat_C
 Represents an S matrix for one block in the semidefinite cone. More...
 

Typedefs

typedef struct DSDPDualMat_C DSDPDualMat
 Represents an S matrix for one block in the semidefinite cone. More...
 

Functions

int DSDPDualMatCholeskyBackwardMultiply (DSDPDualMat, SDPConeVec, SDPConeVec)
 Multiply by triangular matrix. More...
 
int DSDPDualMatCholeskyFactor (DSDPDualMat, DSDPTruth *)
 Factor the matrix. More...
 
int DSDPDualMatCholeskyForwardMultiply (DSDPDualMat, SDPConeVec, SDPConeVec)
 Multiply by triangular matrix. More...
 
int DSDPDualMatCholeskySolveBackward (DSDPDualMat, SDPConeVec, SDPConeVec)
 Backward triangular solve. More...
 
int DSDPDualMatCholeskySolveForward (DSDPDualMat, SDPConeVec, SDPConeVec)
 Forward triangular solve. More...
 
int DSDPDualMatDestroy (DSDPDualMat *)
 Free the matrix structure. More...
 
int DSDPDualMatGetSize (DSDPDualMat, int *)
 Free the matrix structure. More...
 
int DSDPDualMatInitialize (DSDPDualMat *)
 Set pointers to null. More...
 
int DSDPDualMatInverseAdd (DSDPDualMat, double, DSDPVMat)
 Add a multiple of the inverse to T. More...
 
int DSDPDualMatInverseMultiply (DSDPDualMat, DSDPIndex, SDPConeVec, SDPConeVec)
 Multiply the inverse by a vector or solve the system of equations. More...
 
int DSDPDualMatInvert (DSDPDualMat)
 Invert the matrix. More...
 
int DSDPDualMatIsFull (DSDPDualMat, DSDPTruth *)
 Factor the matrix. More...
 
int DSDPDualMatLogDeterminant (DSDPDualMat, double *)
 Free the matrix structure. More...
 
int DSDPDualMatSetArray (DSDPDualMat, DSDPVMat)
 Print the matrix. More...
 
int DSDPDualMatSetData (DSDPDualMat *, struct DSDPDualMat_Ops *, void *)
 Set the opaque pointer and function pointers to the matrix. More...
 
int DSDPDualMatView (DSDPDualMat)
 Print the matrix. More...
 

Detailed Description

The interface between the SDPCone and the matrix S.

Definition in file dsdpdualmat.h.

Typedef Documentation

Represents an S matrix for one block in the semidefinite cone.

Definition at line 27 of file dsdpdualmat.h.

Function Documentation

int DSDPDualMatCholeskyBackwardMultiply ( DSDPDualMat  S,
SDPConeVec  B,
SDPConeVec  X 
)

Multiply by triangular matrix.

Parameters
Sdual matrix
Bin vector
Xproduct Assumes Cholesky factorization successful.

Definition at line 373 of file dsdpdualmat.c.

Referenced by SDPConeXVMultiply().

int DSDPDualMatCholeskyFactor ( DSDPDualMat  S,
DSDPTruth psdefinite 
)

Factor the matrix.

Parameters
Sdual matrix
psdefinitetrue if S is positive definite and factorization successful.

Definition at line 320 of file dsdpdualmat.c.

Referenced by SDPConeComputeX3(), and SDPConeComputeXV().

int DSDPDualMatCholeskyForwardMultiply ( DSDPDualMat  S,
SDPConeVec  B,
SDPConeVec  X 
)

Multiply by triangular matrix.

Parameters
Sdual matrix
Bin vector
Xproduct Assumes Cholesky factorization successful.

Definition at line 346 of file dsdpdualmat.c.

Referenced by SDPConeXVMultiply().

int DSDPDualMatCholeskySolveBackward ( DSDPDualMat  S,
SDPConeVec  B,
SDPConeVec  X 
)

Backward triangular solve.

Parameters
Sdual matrix
BRight-hand side of triangular system
XSolution to triangular system. Assumes Cholesky factorization successful.

Definition at line 295 of file dsdpdualmat.c.

Referenced by SDPConeXVMultiply().

int DSDPDualMatCholeskySolveForward ( DSDPDualMat  S,
SDPConeVec  B,
SDPConeVec  X 
)

Forward triangular solve.

Parameters
Sdual matrix
BRight-hand side of triangular system
XSolution to triangular system. Assumes Cholesky factorization successful.

Definition at line 267 of file dsdpdualmat.c.

Referenced by SDPConeXVMultiply().

int DSDPDualMatDestroy ( DSDPDualMat S)

Free the matrix structure.

Parameters
Sdual matrix

Definition at line 65 of file dsdpdualmat.c.

Referenced by DSDPBlockTakeDown().

int DSDPDualMatGetSize ( DSDPDualMat  S,
int *  n 
)

Free the matrix structure.

Parameters
Sdual matrix
ndimension

Definition at line 87 of file dsdpdualmat.c.

int DSDPDualMatInitialize ( DSDPDualMat S)

Set pointers to null.

Parameters
Sdual matrix

Definition at line 471 of file dsdpdualmat.c.

Referenced by DSDPBlockInitialize().

int DSDPDualMatInverseAdd ( DSDPDualMat  S,
double  alpha,
DSDPVMat  T 
)

Add a multiple of the inverse to T.

Parameters
Sdual matrix
alphascalar
Tdestination. Assumes matrix already inverted.

Definition at line 209 of file dsdpdualmat.c.

Referenced by SDPConeComputeRHS(), and SDPConeComputeXX().

int DSDPDualMatInverseMultiply ( DSDPDualMat  S,
DSDPIndex  IS,
SDPConeVec  B,
SDPConeVec  X 
)

Multiply the inverse by a vector or solve the system of equations.

Parameters
Sdual matrix
ISSparsity pattern of B
BRight-hand side of linear system
Xproduct, or solution to linear system. Assumes matrix already inverted.

Definition at line 236 of file dsdpdualmat.c.

Referenced by SDPConeComputeHessian(), SDPConeComputeRHS(), SDPConeComputeXX(), and SDPConeMultiply().

int DSDPDualMatInvert ( DSDPDualMat  S)

Invert the matrix.

Parameters
Sdual matrix Assumes Cholesky factorization was successful. This routine may not actually invert the matrix. It give the matrix the opportunity to invert it.

Definition at line 186 of file dsdpdualmat.c.

Referenced by SDPConeComputeX3().

int DSDPDualMatIsFull ( DSDPDualMat  S,
DSDPTruth full 
)

Factor the matrix.

Parameters
Sdual matrix
fulltrue if S is a dense structure.

Definition at line 397 of file dsdpdualmat.c.

Referenced by SDPConeComputeX3().

int DSDPDualMatLogDeterminant ( DSDPDualMat  S,
double *  logdet 
)

Free the matrix structure.

Parameters
Sdual matrix
logdetlogarithm of the determinant Assumes Cholesky factorization was successful.

Definition at line 122 of file dsdpdualmat.c.

int DSDPDualMatSetArray ( DSDPDualMat  S,
DSDPVMat  T 
)

Print the matrix.

Parameters
Sdual matrix
TDense array matrix.

Definition at line 160 of file dsdpdualmat.c.

Referenced by SDPConeComputeX3(), and SDPConeComputeXV().

int DSDPDualMatSetData ( DSDPDualMat S,
struct DSDPDualMat_Ops ops,
void *  data 
)

Set the opaque pointer and function pointers to the matrix.

Parameters
Sdual matrix
opspointer to a structure of function pointers
datapointer to a matrix structure

Definition at line 49 of file dsdpdualmat.c.

Referenced by DSDPDualMatDestroy(), and DSDPDualMatInitialize().

int DSDPDualMatView ( DSDPDualMat  S)

Print the matrix.

Parameters
Sdual matrix

Definition at line 140 of file dsdpdualmat.c.