dsdpxmat.h
Go to the documentation of this file.
#if !defined(__DSDP_VSYMMETRICMATRIX_H)
#define __DSDP_VSYMMETRICMATRIX_H
#include "sdpconevec.h"
/* DSDP V Matrix Structure */
struct DSDPVMat_C{
void *matdata;
struct DSDPVMat_Ops* dsdpops;
};
typedef struct DSDPVMat_C DSDPVMat;
#ifdef __cplusplus
extern "C" {
#endif
extern int DSDPVMatGetType(DSDPVMat, int *);
extern int DSDPVMatSetData(DSDPVMat *, struct DSDPVMat_Ops*, void*);
extern int DSDPVMatInitialize(DSDPVMat*);
extern int DSDPVMatTest(DSDPVMat);
extern int DSDPVMatGetSize(DSDPVMat,int*);
extern int DSDPVMatView(DSDPVMat);
extern int DSDPVMatDestroy(DSDPVMat*);
extern int DSDPVMatExist(DSDPVMat,int*);
extern int DSDPVMatZeroEntries(DSDPVMat);
extern int DSDPVMatAddOuterProduct(DSDPVMat, double, SDPConeVec);
extern int DSDPVMatMult(DSDPVMat,SDPConeVec,SDPConeVec);
extern int DSDPVMatScaleDiagonal(DSDPVMat,double);
extern int DSDPVMatShiftDiagonal(DSDPVMat,double);
extern int DSDPVMatNormF2(DSDPVMat, double*);
extern int DSDPVMatGetArray(DSDPVMat,double**,int*);
extern int DSDPVMatRestoreArray(DSDPVMat,double**,int*);
extern int DSDPVMatMinEigenvalue(DSDPVMat,SDPConeVec,SDPConeVec,double*);
extern int DSDPVMatCheck(DSDPVMat, SDPConeVec, SDPConeVec);
#ifdef __cplusplus
}
#endif
#endif
DSDPVMatTest
int DSDPVMatTest(DSDPVMat)
Test validity of matrix.
Definition dsdpxmat.c:402
DSDPVMatSetData
int DSDPVMatSetData(DSDPVMat *, struct DSDPVMat_Ops *, void *)
Set opaque pointer an function pointers.
Definition dsdpxmat.c:39
DSDPVMatNormF2
int DSDPVMatNormF2(DSDPVMat, double *)
Compute square of Frobenius norm of matrix.
Definition dsdpxmat.c:186
DSDPVMatRestoreArray
int DSDPVMatRestoreArray(DSDPVMat, double **, int *)
Restore the array that stores the matrix.
Definition dsdpxmat.c:233
DSDPVMatCheck
int DSDPVMatCheck(DSDPVMat, SDPConeVec, SDPConeVec)
Test correctness of operations.
Definition dsdpxmat.c:327
DSDPVMatAddOuterProduct
int DSDPVMatAddOuterProduct(DSDPVMat, double, SDPConeVec)
Add outer product of a vector to the matrix.
Definition dsdpxmat.c:275
DSDPVMatGetArray
int DSDPVMatGetArray(DSDPVMat, double **, int *)
Get the array that stores the matrix.
Definition dsdpxmat.c:211
DSDPVMatExist
int DSDPVMatExist(DSDPVMat, int *)
Answer whether the array has been allocated or not.
Definition dsdpxmat.c:440
DSDPVMatView
int DSDPVMatView(DSDPVMat)
Print matrix.
Definition dsdpxmat.c:107
DSDPVMatMult
int DSDPVMatMult(DSDPVMat, SDPConeVec, SDPConeVec)
Multiply X by a vector.
Definition dsdpxmat.c:301
DSDPVMatGetSize
int DSDPVMatGetSize(DSDPVMat, int *)
Get number of rows and columns.
Definition dsdpxmat.c:65
DSDPVMatInitialize
int DSDPVMatInitialize(DSDPVMat *)
Set pointers to null.
Definition dsdpxmat.c:424
DSDPVMatZeroEntries
int DSDPVMatZeroEntries(DSDPVMat)
Zero matrix.
Definition dsdpxmat.c:125
DSDPVMatDestroy
int DSDPVMatDestroy(DSDPVMat *)
Deallocate matrix.
Definition dsdpxmat.c:86
DSDPVMatShiftDiagonal
int DSDPVMatShiftDiagonal(DSDPVMat, double)
Add something to diagonal elements.
Definition dsdpxmat.c:166
DSDPVMatScaleDiagonal
int DSDPVMatScaleDiagonal(DSDPVMat, double)
Scaling diagonal is useful for inner products and norms.
Definition dsdpxmat.c:147
sdpconevec.h
Each block of the SDPCone has two vectors of appropriate size.
DSDPVMat_C
Dense symmetric matrix for one block in the semidefinite cone.
Definition dsdpxmat.h:17
DSDPVMat_Ops
Table of function pointers that operate on the dense matrix.
Definition dsdpxmat_impl.h:13
SDPConeVec_C
Vector whose length corresponds to dimension of a block in a cone.
Definition sdpconevec.h:13