DSDP
dsdpxmat.h
Go to the documentation of this file.
1 #if !defined(__DSDP_VSYMMETRICMATRIX_H)
2 #define __DSDP_VSYMMETRICMATRIX_H
3 
8 #include "sdpconevec.h"
9 
10 /* DSDP V Matrix Structure */
17 struct DSDPVMat_C{
18  void *matdata;
19  struct DSDPVMat_Ops* dsdpops;
20 };
21 
26 typedef struct DSDPVMat_C DSDPVMat;
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 extern int DSDPVMatGetType(DSDPVMat, int *);
33 extern int DSDPVMatSetData(DSDPVMat *, struct DSDPVMat_Ops*, void*);
34 extern int DSDPVMatInitialize(DSDPVMat*);
35 
36 extern int DSDPVMatTest(DSDPVMat);
37 extern int DSDPVMatGetSize(DSDPVMat,int*);
38 extern int DSDPVMatView(DSDPVMat);
39 extern int DSDPVMatDestroy(DSDPVMat*);
40 
41 extern int DSDPVMatExist(DSDPVMat,int*);
42 extern int DSDPVMatZeroEntries(DSDPVMat);
43 extern int DSDPVMatAddOuterProduct(DSDPVMat, double, SDPConeVec);
45 extern int DSDPVMatScaleDiagonal(DSDPVMat,double);
46 extern int DSDPVMatShiftDiagonal(DSDPVMat,double);
47 extern int DSDPVMatNormF2(DSDPVMat, double*);
48 extern int DSDPVMatGetArray(DSDPVMat,double**,int*);
49 extern int DSDPVMatRestoreArray(DSDPVMat,double**,int*);
50 extern int DSDPVMatMinEigenvalue(DSDPVMat,SDPConeVec,SDPConeVec,double*);
52 
53 #ifdef __cplusplus
54 }
55 #endif
56 
57 #endif
58 
59 
Table of function pointers that operate on the dense matrix.
Definition: dsdpxmat_impl.h:13
int DSDPVMatScaleDiagonal(DSDPVMat, double)
Scaling diagonal is useful for inner products and norms.
Definition: dsdpxmat.c:147
int DSDPVMatTest(DSDPVMat)
Test validity of matrix.
Definition: dsdpxmat.c:402
int DSDPVMatNormF2(DSDPVMat, double *)
Compute square of Frobenius norm of matrix.
Definition: dsdpxmat.c:186
int DSDPVMatInitialize(DSDPVMat *)
Set pointers to null.
Definition: dsdpxmat.c:424
int DSDPVMatMult(DSDPVMat, SDPConeVec, SDPConeVec)
Multiply X by a vector.
Definition: dsdpxmat.c:301
Each block of the SDPCone has two vectors of appropriate size.
int DSDPVMatAddOuterProduct(DSDPVMat, double, SDPConeVec)
Add outer product of a vector to the matrix.
Definition: dsdpxmat.c:275
Vector whose length corresponds to dimension of a block in a cone.
Definition: sdpconevec.h:13
int DSDPVMatView(DSDPVMat)
Print matrix.
Definition: dsdpxmat.c:107
int DSDPVMatRestoreArray(DSDPVMat, double **, int *)
Restore the array that stores the matrix.
Definition: dsdpxmat.c:233
int DSDPVMatExist(DSDPVMat, int *)
Answer whether the array has been allocated or not.
Definition: dsdpxmat.c:440
int DSDPVMatShiftDiagonal(DSDPVMat, double)
Add something to diagonal elements.
Definition: dsdpxmat.c:166
int DSDPVMatCheck(DSDPVMat, SDPConeVec, SDPConeVec)
Test correctness of operations.
Definition: dsdpxmat.c:327
int DSDPVMatDestroy(DSDPVMat *)
Deallocate matrix.
Definition: dsdpxmat.c:86
int DSDPVMatSetData(DSDPVMat *, struct DSDPVMat_Ops *, void *)
Set opaque pointer an function pointers.
Definition: dsdpxmat.c:39
Dense symmetric matrix for one block in the semidefinite cone.
Definition: dsdpxmat.h:17
int DSDPVMatZeroEntries(DSDPVMat)
Zero matrix.
Definition: dsdpxmat.c:125
int DSDPVMatGetArray(DSDPVMat, double **, int *)
Get the array that stores the matrix.
Definition: dsdpxmat.c:211
int DSDPVMatGetSize(DSDPVMat, int *)
Get number of rows and columns.
Definition: dsdpxmat.c:65