DSDP
dsdpdsmat.h
Go to the documentation of this file.
1 #if !defined(__DSDP_DSMATRIX_H)
2 #define __DSDP_DSMATRIX_H
3 
4 #include "sdpconevec.h"
5 #include "dsdpxmat.h"
6 
12 /* DSDPDSMat objects are not used for much: DS, X, eigenvalue stuff */
13 /* These objects are good basically for assembling a matrix, accessing
14  the data, and applying the operator to a vector */
15 
16 /* DSDP Matrix Structure */
23 struct DSDPDSMat_C{
24  void *matdata;
25  struct DSDPDSMat_Ops* dsdpops;
26 };
27 
33 typedef struct DSDPDSMat_C DSDPDSMat;
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 extern int DSDPDSMatGetType(DSDPDSMat, int *);
40 extern int DSDPDSMatSetData(DSDPDSMat *, struct DSDPDSMat_Ops*, void*);
41 extern int DSDPDSMatInitialize(DSDPDSMat*);
42 
46 extern int DSDPDSMatVecVec(DSDPDSMat, SDPConeVec, double*);
47 
48 extern int DSDPDSMatTest(DSDPDSMat);
49 extern int DSDPDSMatGetSize(DSDPDSMat,int*);
50 extern int DSDPDSMatView(DSDPDSMat);
51 extern int DSDPDSMatDestroy(DSDPDSMat*);
52 
53 extern int DSDPDSMatCheck(DSDPDSMat,SDPConeVec,SDPConeVec,DSDPVMat);
54 #ifdef __cplusplus
55 }
56 #endif
57 
58 
59 #endif
60 
61 
int DSDPDSMatSetArray(DSDPDSMat A, DSDPVMat T)
Set values into the matrix.
Definition: dsdpdsmat.c:130
int DSDPDSMatSetData(DSDPDSMat *M, struct DSDPDSMat_Ops *ops, void *data)
Set the opaque pointer and function pointers to the matrix.
Definition: dsdpdsmat.c:31
int DSDPDSMatGetSize(DSDPDSMat A, int *n)
Set the opaque pointer and function pointers to the matrix.
Definition: dsdpdsmat.c:50
Each block of the SDPCone has two vectors of appropriate size.
int DSDPDSMatInitialize(DSDPDSMat *B)
Set pointers to null.
Definition: dsdpdsmat.c:254
Vector whose length corresponds to dimension of a block in a cone.
Definition: sdpconevec.h:13
The interface between the SDPCone and the dense matrix array.
int DSDPDSMatZeroEntries(DSDPDSMat A)
Zero the entries in the matrix.
Definition: dsdpdsmat.c:110
int DSDPDSMatVecVec(DSDPDSMat A, SDPConeVec X, double *vAv)
Compute the product x' A x.
Definition: dsdpdsmat.c:181
int DSDPDSMatDestroy(DSDPDSMat *A)
Free the data structure.
Definition: dsdpdsmat.c:70
Symmetric Delta S matrix for one block in the semidefinite cone.
Symmetric Delta S matrix for one block in the semidefinite cone.
Definition: dsdpdsmat.h:23
Dense symmetric matrix for one block in the semidefinite cone.
Definition: dsdpxmat.h:17
int DSDPDSMatMult(DSDPDSMat A, SDPConeVec X, SDPConeVec Y)
Set values into the matrix.
Definition: dsdpdsmat.c:154
int DSDPDSMatView(DSDPDSMat A)
Print the matrix.
Definition: dsdpdsmat.c:92