DSDP
dsdpschurmat_impl.h
Go to the documentation of this file.
1 #include "dsdpbasictypes.h"
2 #if !defined(__DSDP_SCHURMATRICES_H)
3 #define __DSDP_SCHURMATRICES_H
4 
10 struct DSDPSchurMat_Ops{
11  int id;
12  int (*matzero)(void*);
13  int (*matrownonzeros)(void*,int,double*,int*,int);
14  int (*mataddrow)(void*,int,double,double[],int);
15  int (*mataddelement)(void*,int,double);
16  int (*matadddiagonal)(void*,double[],int);
17  int (*matshiftdiagonal)(void*,double);
18  int (*matassemble)(void*);
19  int (*matscaledmultiply)(void*,double[],double[],int);
20  int (*matmultr)(void*,double[],double[],int);
21  int (*matfactor)(void*,int*);
22  int (*matsolve)(void*,double[],double[],int);
23  int (*matsetup)(void*,int);
24  int (*pmatwhichdiag)(void*,double[],int);
25  int (*pmatonprocessor)(void*,int,int*);
26  int (*pmatlocalvariables)(void*,double[],int);
27  int (*pmatreduction)(void*,double[],int);
28  int (*pmatdistributed)(void*,int*);
29  int (*matdestroy)(void*);
30  int (*matview)(void*);
31  const char *matname;
32 };
33 
34 extern int DSDPSetSchurMatOps(DSDP,struct DSDPSchurMat_Ops*,void*);
35 extern int DSDPSchurMatOpsInitialize(struct DSDPSchurMat_Ops*);
36 extern int DSDPSparsityInSchurMat(DSDP,int,int[],int);
37 #endif
38 
39 
Internal structures for the DSDP solver.
Definition: dsdp.h:65
int DSDPSetSchurMatOps(DSDP, struct DSDPSchurMat_Ops *, void *)
Set the Schur complement matrix.
Definition: dsdpcops.c:602
Solver, solution types, termination codes,.
int DSDPSparsityInSchurMat(DSDP, int, int[], int)
Identify nonzero elements in a row of the Schur complement.
Definition: dsdpschurmat.c:649
int DSDPSchurMatOpsInitialize(struct DSDPSchurMat_Ops *)
Initialize function pointers to 0.
Definition: dsdpschurmat.c:44