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