1 #if !defined(__DSDP_DUALMATRIX_H)
2 #define __DSDP_DUALMATRIX_H
54 extern int DSDPDualMatGetArray(
DSDPDualMat,
double*[],
int*);
int DSDPDualMatSetData(DSDPDualMat *S, struct DSDPDualMat_Ops *ops, void *data)
Set the opaque pointer and function pointers to the matrix.
int DSDPDualMatIsFull(DSDPDualMat S, DSDPTruth *full)
Factor the matrix.
DSDPTruth
Boolean variables.
int DSDPDualMatDestroy(DSDPDualMat *S)
Free the matrix structure.
int DSDPDualMatInverseMultiply(DSDPDualMat S, DSDPIndex IS, SDPConeVec B, SDPConeVec X)
Multiply the inverse by a vector or solve the system of equations.
int DSDPDualMatInverseAdd(DSDPDualMat S, double alpha, DSDPVMat T)
Add a multiple of the inverse to T.
int DSDPDualMatView(DSDPDualMat S)
Print the matrix.
int DSDPDualMatCholeskySolveBackward(DSDPDualMat S, SDPConeVec B, SDPConeVec X)
Backward triangular solve.
Each block of the SDPCone has two vectors of appropriate size.
Solver, solution types, termination codes,.
Vector whose length corresponds to dimension of a block in a cone.
Table of function pointers that operate on the S matrix.
int DSDPDualMatCholeskyBackwardMultiply(DSDPDualMat S, SDPConeVec B, SDPConeVec X)
Multiply by triangular matrix.
int DSDPDualMatCholeskySolveForward(DSDPDualMat S, SDPConeVec B, SDPConeVec X)
Forward triangular solve.
The interface between the SDPCone and the dense matrix array.
int DSDPDualMatInitialize(DSDPDualMat *S)
Set pointers to null.
int DSDPDualMatGetSize(DSDPDualMat S, int *n)
Free the matrix structure.
int DSDPDualMatInvert(DSDPDualMat S)
Invert the matrix.
int DSDPDualMatCholeskyFactor(DSDPDualMat S, DSDPTruth *psdefinite)
Factor the matrix.
int DSDPDualMatLogDeterminant(DSDPDualMat S, double *logdet)
Free the matrix structure.
Represents an S matrix for one block in the semidefinite cone.
int DSDPDualMatCholeskyForwardMultiply(DSDPDualMat S, SDPConeVec B, SDPConeVec X)
Multiply by triangular matrix.
int DSDPDualMatSetArray(DSDPDualMat S, DSDPVMat T)
Print the matrix.
Dense symmetric matrix for one block in the semidefinite cone.