dsdpdualmat.h
Go to the documentation of this file.
#if !defined(__DSDP_DUALMATRIX_H)
#define __DSDP_DUALMATRIX_H
#include "sdpconevec.h"
#include "dsdpbasictypes.h"
#include "dsdpxmat.h"
struct DSDPDualMat_C{
void* matdata;
struct DSDPDualMat_Ops* dsdpops;
};
typedef struct DSDPDualMat_C DSDPDualMat;
#ifdef __cplusplus
extern "C" {
#endif
extern int DSDPDualMatInitialize(DSDPDualMat*);
extern int DSDPDualMatSetData(DSDPDualMat*,struct DSDPDualMat_Ops*,void*);
extern int DSDPDualMatGetType(DSDPDualMat, int *);
extern int DSDPDualMatGetSize(DSDPDualMat, int*);
extern int DSDPDualMatTest(DSDPDualMat);
extern int DSDPDualMatDestroy(DSDPDualMat *);
extern int DSDPDualMatView(DSDPDualMat);
extern int DSDPDualMatCholeskyFactor(DSDPDualMat,DSDPTruth *);
extern int DSDPDualMatInvert(DSDPDualMat);
extern int DSDPDualMatInverseAdd(DSDPDualMat,double,DSDPVMat);
extern int DSDPDualMatInverseMultiply(DSDPDualMat, DSDPIndex, SDPConeVec, SDPConeVec);
extern int DSDPDualMatCholeskySolveForward(DSDPDualMat, SDPConeVec, SDPConeVec);
extern int DSDPDualMatCholeskySolveBackward(DSDPDualMat, SDPConeVec, SDPConeVec);
extern int DSDPDualMatCholeskyForwardMultiply(DSDPDualMat, SDPConeVec, SDPConeVec);
extern int DSDPDualMatCholeskyBackwardMultiply(DSDPDualMat, SDPConeVec, SDPConeVec);
extern int DSDPDualMatLogDeterminant(DSDPDualMat, double*);
extern int DSDPDualMatIsFull(DSDPDualMat,DSDPTruth*);
extern int DSDPDualMatSetArray(DSDPDualMat,DSDPVMat);
extern int DSDPDualMatCheck(DSDPDualMat,SDPConeVec,SDPConeVec,DSDPIndex,DSDPVMat);
extern int DSDPDualMatGetArray(DSDPDualMat,double*[],int*);
#ifdef __cplusplus
}
#endif
#endif
dsdpbasictypes.h
Solver, solution types, termination codes,.
DSDPTruth
DSDPTruth
Boolean variables.
Definition dsdpbasictypes.h:19
DSDPDualMatSetArray
int DSDPDualMatSetArray(DSDPDualMat, DSDPVMat)
Print the matrix.
Definition dsdpdualmat.c:160
DSDPDualMatInitialize
int DSDPDualMatInitialize(DSDPDualMat *)
Set pointers to null.
Definition dsdpdualmat.c:471
DSDPDualMatDestroy
int DSDPDualMatDestroy(DSDPDualMat *)
Free the matrix structure.
Definition dsdpdualmat.c:65
DSDPDualMatSetData
int DSDPDualMatSetData(DSDPDualMat *, struct DSDPDualMat_Ops *, void *)
Set the opaque pointer and function pointers to the matrix.
Definition dsdpdualmat.c:49
DSDPDualMatCholeskyBackwardMultiply
int DSDPDualMatCholeskyBackwardMultiply(DSDPDualMat, SDPConeVec, SDPConeVec)
Multiply by triangular matrix.
Definition dsdpdualmat.c:373
DSDPDualMatInverseMultiply
int DSDPDualMatInverseMultiply(DSDPDualMat, DSDPIndex, SDPConeVec, SDPConeVec)
Multiply the inverse by a vector or solve the system of equations.
Definition dsdpdualmat.c:236
DSDPDualMatCholeskyForwardMultiply
int DSDPDualMatCholeskyForwardMultiply(DSDPDualMat, SDPConeVec, SDPConeVec)
Multiply by triangular matrix.
Definition dsdpdualmat.c:346
DSDPDualMatCholeskyFactor
int DSDPDualMatCholeskyFactor(DSDPDualMat, DSDPTruth *)
Factor the matrix.
Definition dsdpdualmat.c:320
DSDPDualMatCholeskySolveBackward
int DSDPDualMatCholeskySolveBackward(DSDPDualMat, SDPConeVec, SDPConeVec)
Backward triangular solve.
Definition dsdpdualmat.c:295
DSDPDualMatGetSize
int DSDPDualMatGetSize(DSDPDualMat, int *)
Free the matrix structure.
Definition dsdpdualmat.c:87
DSDPDualMatInvert
int DSDPDualMatInvert(DSDPDualMat)
Invert the matrix.
Definition dsdpdualmat.c:186
DSDPDualMatCholeskySolveForward
int DSDPDualMatCholeskySolveForward(DSDPDualMat, SDPConeVec, SDPConeVec)
Forward triangular solve.
Definition dsdpdualmat.c:267
DSDPDualMatIsFull
int DSDPDualMatIsFull(DSDPDualMat, DSDPTruth *)
Factor the matrix.
Definition dsdpdualmat.c:397
DSDPDualMatInverseAdd
int DSDPDualMatInverseAdd(DSDPDualMat, double, DSDPVMat)
Add a multiple of the inverse to T.
Definition dsdpdualmat.c:209
DSDPDualMatLogDeterminant
int DSDPDualMatLogDeterminant(DSDPDualMat, double *)
Free the matrix structure.
Definition dsdpdualmat.c:122
DSDPDualMatView
int DSDPDualMatView(DSDPDualMat)
Print the matrix.
Definition dsdpdualmat.c:140
dsdpxmat.h
The interface between the SDPCone and the dense matrix array.
sdpconevec.h
Each block of the SDPCone has two vectors of appropriate size.
DSDPDualMat_C
Represents an S matrix for one block in the semidefinite cone.
Definition dsdpdualmat.h:18
DSDPDualMat_Ops
Table of function pointers that operate on the S matrix.
Definition dsdpdualmat_impl.h:13
DSDPVMat_C
Dense symmetric matrix for one block in the semidefinite cone.
Definition dsdpxmat.h:17
SDPConeVec_C
Vector whose length corresponds to dimension of a block in a cone.
Definition sdpconevec.h:13