2 #if !defined(__DSDP_SCHURMATRICES_H) 3 #define __DSDP_SCHURMATRICES_H 10 struct DSDPSchurMat_Ops{
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*);
Internal structures for the DSDP solver.
int DSDPSetSchurMatOps(DSDP, struct DSDPSchurMat_Ops *, void *)
Set the Schur complement matrix.
Solver, solution types, termination codes,.
int DSDPSparsityInSchurMat(DSDP, int, int[], int)
Identify nonzero elements in a row of the Schur complement.
int DSDPSchurMatOpsInitialize(struct DSDPSchurMat_Ops *)
Initialize function pointers to 0.