DSDP
dsdpdualmat.h
Go to the documentation of this file.
1 #if !defined(__DSDP_DUALMATRIX_H)
2 #define __DSDP_DUALMATRIX_H
3 
4 #include "sdpconevec.h"
5 #include "dsdpbasictypes.h"
6 #include "dsdpxmat.h"
19  void* matdata;
20  struct DSDPDualMat_Ops* dsdpops;
21 };
22 
27 typedef struct DSDPDualMat_C DSDPDualMat;
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
34 extern int DSDPDualMatSetData(DSDPDualMat*,struct DSDPDualMat_Ops*,void*);
35 extern int DSDPDualMatGetType(DSDPDualMat, int *);
36 
37 extern int DSDPDualMatGetSize(DSDPDualMat, int*);
38 extern int DSDPDualMatTest(DSDPDualMat);
39 extern int DSDPDualMatDestroy(DSDPDualMat *);
40 extern int DSDPDualMatView(DSDPDualMat);
41 
43 extern int DSDPDualMatInvert(DSDPDualMat);
44 extern int DSDPDualMatInverseAdd(DSDPDualMat,double,DSDPVMat);
50 extern int DSDPDualMatLogDeterminant(DSDPDualMat, double*);
53 extern int DSDPDualMatCheck(DSDPDualMat,SDPConeVec,SDPConeVec,DSDPIndex,DSDPVMat);
54 extern int DSDPDualMatGetArray(DSDPDualMat,double*[],int*);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif
61 
62 
DSDPTruth
Boolean variables.
int DSDPDualMatView(DSDPDualMat)
Print the matrix.
Definition: dsdpdualmat.c:140
int DSDPDualMatInverseMultiply(DSDPDualMat, DSDPIndex, SDPConeVec, SDPConeVec)
Multiply the inverse by a vector or solve the system of equations.
Definition: dsdpdualmat.c:236
int DSDPDualMatCholeskyBackwardMultiply(DSDPDualMat, SDPConeVec, SDPConeVec)
Multiply by triangular matrix.
Definition: dsdpdualmat.c:373
int DSDPDualMatInverseAdd(DSDPDualMat, double, DSDPVMat)
Add a multiple of the inverse to T.
Definition: dsdpdualmat.c:209
int DSDPDualMatInvert(DSDPDualMat)
Invert the matrix.
Definition: dsdpdualmat.c:186
int DSDPDualMatCholeskySolveBackward(DSDPDualMat, SDPConeVec, SDPConeVec)
Backward triangular solve.
Definition: dsdpdualmat.c:295
int DSDPDualMatCholeskyForwardMultiply(DSDPDualMat, SDPConeVec, SDPConeVec)
Multiply by triangular matrix.
Definition: dsdpdualmat.c:346
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.
Definition: sdpconevec.h:13
Table of function pointers that operate on the S matrix.
int DSDPDualMatLogDeterminant(DSDPDualMat, double *)
Free the matrix structure.
Definition: dsdpdualmat.c:122
int DSDPDualMatGetSize(DSDPDualMat, int *)
Free the matrix structure.
Definition: dsdpdualmat.c:87
The interface between the SDPCone and the dense matrix array.
int DSDPDualMatDestroy(DSDPDualMat *)
Free the matrix structure.
Definition: dsdpdualmat.c:65
int DSDPDualMatInitialize(DSDPDualMat *)
Set pointers to null.
Definition: dsdpdualmat.c:471
int DSDPDualMatCholeskyFactor(DSDPDualMat, DSDPTruth *)
Factor the matrix.
Definition: dsdpdualmat.c:320
Represents an S matrix for one block in the semidefinite cone.
Definition: dsdpdualmat.h:18
int DSDPDualMatSetData(DSDPDualMat *, struct DSDPDualMat_Ops *, void *)
Set the opaque pointer and function pointers to the matrix.
Definition: dsdpdualmat.c:49
int DSDPDualMatSetArray(DSDPDualMat, DSDPVMat)
Print the matrix.
Definition: dsdpdualmat.c:160
Dense symmetric matrix for one block in the semidefinite cone.
Definition: dsdpxmat.h:17
int DSDPDualMatIsFull(DSDPDualMat, DSDPTruth *)
Factor the matrix.
Definition: dsdpdualmat.c:397
int DSDPDualMatCholeskySolveForward(DSDPDualMat, SDPConeVec, SDPConeVec)
Forward triangular solve.
Definition: dsdpdualmat.c:267