DSDP
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
solver
dsdpschurmat.h
Go to the documentation of this file.
1
#if !defined(__DSDP_SCHURMATRIXOPERATIONS_H)
2
#define __DSDP_SCHURMATRIXOPERATIONS_H
3
9
#include "
dsdpvec.h
"
10
#include "
dsdpbasictypes.h
"
11
#include "
dsdpcg.h
"
12
13
14
typedef
struct
{
15
int
*var;
16
int
nvars;
17
int
nmaxvars;
18
double
*fval;
19
double
*fdual;
20
double
*xout;
21
} FixedVariables;
22
23
typedef
struct
{
24
FixedVariables fv;
25
DSDPVec
rhs3,dy3;
26
double
dd,r;
27
int
m;
28
} DSDPSchurInfo;
29
35
struct
DSDPSchurMat_C
{
36
void
* data;
37
struct
DSDPSchurMat_Ops *dsdpops;
38
DSDPSchurInfo* schur;
39
};
40
49
typedef
struct
DSDPSchurMat_C
DSDPSchurMat
;
50
51
52
#ifdef __cplusplus
53
extern
"C"
{
54
#endif
55
56
extern
int
DSDPSchurMatSetData
(
DSDPSchurMat
*,
struct
DSDPSchurMat_Ops*,
void
*);
57
58
extern
int
DSDPSchurMatInitialize
(
DSDPSchurMat
*);
59
extern
int
DSDPSchurMatSetup
(
DSDPSchurMat
,
DSDPVec
);
60
extern
int
DSDPSchurMatZeroEntries
(
DSDPSchurMat
);
61
extern
int
DSDPSchurMatInParallel
(
DSDPSchurMat
,
DSDPTruth
*);
62
extern
int
DSDPSchurMatShiftDiagonal
(
DSDPSchurMat
,
double
);
63
extern
int
DSDPSchurMatAssemble
(
DSDPSchurMat
);
64
extern
int
DSDPSchurMatMultiply
(
DSDPSchurMat
,
DSDPVec
,
DSDPVec
);
65
extern
int
DSDPSchurMatMultR(
DSDPSchurMat
,
DSDPVec
,
DSDPVec
);
66
extern
int
DSDPSchurMatReducePVec
(
DSDPSchurMat
,
DSDPVec
);
67
extern
int
DSDPSchurMatFactor
(
DSDPSchurMat
,
DSDPTruth
*);
68
extern
int
DSDPSchurMatSolve
(
DSDPSchurMat
,
DSDPVec
,
DSDPVec
);
69
extern
int
DSDPSchurMatDestroy
(
DSDPSchurMat
*);
70
extern
int
DSDPSchurMatView
(
DSDPSchurMat
);
71
extern
int
DSDPSchurMatSetR
(
DSDPSchurMat
,
double
);
72
73
extern
int
DSDPSchurMatRowColumnScaling
(
DSDPSchurMat
,
int
,
DSDPVec
,
int
*);
74
extern
int
DSDPSchurMatAddRow
(
DSDPSchurMat
,
int
,
double
,
DSDPVec
);
75
76
extern
int
DSDPSchurMatVariableCompute
(
DSDPSchurMat
,
int
,
double
*);
77
extern
int
DSDPSchurMatVariableComputeC(
DSDPSchurMat
,
double
*);
78
extern
int
DSDPSchurMatVariableComputeR
(
DSDPSchurMat
,
double
*);
79
extern
int
DSDPSchurMatAddDiagonalElement
(
DSDPSchurMat
,
int
,
double
);
80
extern
int
DSDPSchurMatAddC(
DSDPSchurMat
,
int
,
double
);
81
extern
int
DSDPSchurMatAddR
(
DSDPSchurMat
,
int
,
double
);
82
83
extern
int
DSDPSchurMatDiagonalScaling
(
DSDPSchurMat
,
DSDPVec
);
84
extern
int
DSDPSchurMatAddDiagonal
(
DSDPSchurMat
,
DSDPVec
);
85
86
extern
int
DSDPSchurMatRowScaling
(
DSDPSchurMat
,
DSDPVec
);
87
88
extern
int
DSDPZeroFixedVariables(
DSDPSchurMat
,
DSDPVec
);
89
extern
int
DSDPApplyFixedVariables(
DSDPSchurMat
,
DSDPVec
);
90
extern
int
DSDPIsFixed(
DSDPSchurMat
,
int
,
DSDPTruth
*);
91
extern
int
DSDPInitializeFixedVariable( FixedVariables *);
92
extern
int
DSDPAddFixedVariable(
DSDPSchurMat
,
int
,
double
);
93
94
#ifdef __cplusplus
95
}
96
#endif
97
98
#endif
99
100
Generated by
1.8.3.1