DSDP
dsdpdualmat_impl.h
Go to the documentation of this file.
1#if !defined(__DSDP_DUALMATRIXOPS_H)
2#define __DSDP_DUALMATRIXOPS_H
3
14 int id;
15 int (*matseturmat)(void*,double[],int,int); /* Set full array of values into matrix */
16 int (*matgetarray)(void*,double*[],int*); /* Set pointers to a dense array and its dimension */
17 int (*matcholesky)(void*,int*); /* Cholesky second argument is 0 for success, 1 otherwise */
18 int (*matsolveforward)(void*,double[],double[],int); /* Called after Cholesky */
19 int (*matsolvebackward)(void*,double[],double[],int); /* Called after Cholesky */
20 int (*matinvert)(void*); /* Called after Cholesky factorization */
21 int (*matinverseadd)(void*,double,double[],int,int); /* Add multiple of the inverse to array */
22 int (*matinversemultiply)(void*,int[],int,double[],double[],int); /* Called after invert */
23 int (*matforwardmultiply)(void*,double[],double[],int); /* Called after invert */
24 int (*matbackwardmultiply)(void*,double[],double[],int); /* Called after invert */
25 int (*matlogdet)(void*,double*); /* Called after Cholesky */
26 int (*matfull)(void*,int*); /* Is fully dense or not? */
27 int (*mattest)(void*);
28 int (*matgetsize)(void*,int*);
29 int (*matdestroy)(void*);
30 int (*matview)(void*);
31 const char *matname;
32};
33
34#ifdef __cplusplus
35extern "C" {
36#endif
38#ifdef __cplusplus
39}
40#endif
41
42#endif
43
44
int DSDPDualMatOpsInitialize(struct DSDPDualMat_Ops *)
Set pointers to null.
Table of function pointers that operate on the S matrix.