DSDP
Functions
dsdpdualmat.c File Reference

Call an implementation of the S matrix operations. More...

Go to the source code of this file.

Functions

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

Detailed Description

Call an implementation of the S matrix operations.

Definition in file dsdpdualmat.c.

Function Documentation

◆ DSDPDualMatCholeskyBackwardMultiply()

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.

◆ DSDPDualMatCholeskyFactor()

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().

◆ DSDPDualMatCholeskyForwardMultiply()

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.

◆ DSDPDualMatCholeskySolveBackward()

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.

◆ DSDPDualMatCholeskySolveForward()

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.

◆ DSDPDualMatDestroy()

int DSDPDualMatDestroy ( DSDPDualMat S)

Free the matrix structure.

Parameters
Sdual matrix

Definition at line 65 of file dsdpdualmat.c.

Referenced by DSDPBlockTakeDown().

◆ DSDPDualMatGetSize()

int DSDPDualMatGetSize ( DSDPDualMat  S,
int *  n 
)

Free the matrix structure.

Parameters
Sdual matrix
ndimension

Definition at line 87 of file dsdpdualmat.c.

◆ DSDPDualMatInitialize()

int DSDPDualMatInitialize ( DSDPDualMat S)

Set pointers to null.

Parameters
Sdual matrix

Definition at line 471 of file dsdpdualmat.c.

Referenced by DSDPBlockInitialize().

◆ DSDPDualMatInverseAdd()

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().

◆ DSDPDualMatInverseMultiply()

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().

◆ DSDPDualMatInvert()

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().

◆ DSDPDualMatIsFull()

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().

◆ DSDPDualMatLogDeterminant()

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.

◆ DSDPDualMatOpsInitialize()

int DSDPDualMatOpsInitialize ( struct DSDPDualMat_Ops sops)

Set pointers to null.

Parameters
sopsfunction pointers

Definition at line 423 of file dsdpdualmat.c.

Referenced by DSDPDualMatInitialize().

◆ DSDPDualMatSetArray()

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().

◆ DSDPDualMatSetData()

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().

◆ DSDPDualMatView()

int DSDPDualMatView ( DSDPDualMat  S)

Print the matrix.

Parameters
Sdual matrix

Definition at line 140 of file dsdpdualmat.c.