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
35 extern "C" {
36 #endif
37 extern int DSDPDualMatOpsInitialize(struct DSDPDualMat_Ops*);
38 #ifdef __cplusplus
39 }
40 #endif
41 
42 #endif
43 
44 
Table of function pointers that operate on the S matrix.
int DSDPDualMatOpsInitialize(struct DSDPDualMat_Ops *)
Set pointers to null.
Definition: dsdpdualmat.c:423