Subversion Repositories slepc-dev

Rev

Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6 dsic.upv.es!jroman 1
/*
2
   User interface for the SLEPC eigenproblem solvers.
1376 slepc 3
 
4
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1672 slepc 5
   SLEPc - Scalable Library for Eigenvalue Problem Computations
6
   Copyright (c) 2002-2009, Universidad Politecnica de Valencia, Spain
1376 slepc 7
 
1672 slepc 8
   This file is part of SLEPc.
9
 
10
   SLEPc is free software: you can redistribute it and/or modify it under  the
11
   terms of version 3 of the GNU Lesser General Public License as published by
12
   the Free Software Foundation.
13
 
14
   SLEPc  is  distributed in the hope that it will be useful, but WITHOUT  ANY
15
   WARRANTY;  without even the implied warranty of MERCHANTABILITY or  FITNESS
16
   FOR  A  PARTICULAR PURPOSE. See the GNU Lesser General Public  License  for
17
   more details.
18
 
19
   You  should have received a copy of the GNU Lesser General  Public  License
20
   along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
1376 slepc 21
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
6 dsic.upv.es!jroman 22
*/
1376 slepc 23
 
6 dsic.upv.es!jroman 24
#if !defined(__SLEPCEPS_H)
25
#define __SLEPCEPS_H
1885 jroman 26
#include "slepcsys.h"
6 dsic.upv.es!jroman 27
#include "slepcst.h"
1345 slepc 28
#include "slepcip.h"
476 dsic.upv.es!antodo 29
PETSC_EXTERN_CXX_BEGIN
6 dsic.upv.es!jroman 30
 
476 dsic.upv.es!antodo 31
extern PetscCookie EPS_COOKIE;
6 dsic.upv.es!jroman 32
 
33
/*S
34
     EPS - Abstract SLEPc object that manages all the eigenvalue
35
     problem solvers.
36
 
37
   Level: beginner
38
 
39
.seealso:  EPSCreate(), ST
40
S*/
41
typedef struct _p_EPS* EPS;
42
 
1364 slepc 43
/*E
44
    EPSType - String with the name of a SLEPc eigensolver
45
 
46
   Level: beginner
47
 
48
.seealso: EPSSetType(), EPS
49
E*/
1502 slepc 50
#define EPSType      char*
6 dsic.upv.es!jroman 51
#define EPSPOWER     "power"
52
#define EPSSUBSPACE  "subspace"
53
#define EPSARNOLDI   "arnoldi"
646 dsic.upv.es!antodo 54
#define EPSLANCZOS   "lanczos"
1171 slepc 55
#define EPSKRYLOVSCHUR "krylovschur"
1878 antodo 56
#define EPSDSITRLANCZOS "dsitrlanczos"
6 dsic.upv.es!jroman 57
#define EPSLAPACK    "lapack"
58
/* the next ones are interfaces to external libraries */
59
#define EPSARPACK    "arpack"
60
#define EPSBLZPACK   "blzpack"
61
#define EPSTRLAN     "trlan"
1195 slepc 62
#define EPSBLOPEX    "blopex"
1187 slepc 63
#define EPSPRIMME    "primme"
1987 eromero 64
#define EPSGD        "gd"
65
#define EPSJD        "jd"
6 dsic.upv.es!jroman 66
 
1364 slepc 67
/*E
68
    EPSProblemType - determines the type of eigenvalue problem
69
 
70
    Level: beginner
71
 
72
.seealso: EPSSetProblemType(), EPSGetProblemType()
73
E*/
1940 jroman 74
typedef enum { EPS_HEP=1,
75
               EPS_GHEP,
76
               EPS_NHEP,
77
               EPS_GNHEP,
78
               EPS_PGNHEP,
79
               EPS_GHIEP } EPSProblemType;
6 dsic.upv.es!jroman 80
 
1364 slepc 81
/*E
1560 slepc 82
    EPSExtraction - determines the type of extraction technique employed
1426 slepc 83
    by the eigensolver
84
 
85
    Level: beginner
86
 
1560 slepc 87
.seealso: EPSSetExtraction(), EPSGetExtraction()
1426 slepc 88
E*/
1940 jroman 89
typedef enum { EPS_RITZ=1,
90
               EPS_HARMONIC,
1987 eromero 91
               EPS_HARMONIC_RELATIVE,
92
               EPS_HARMONIC_RIGHT,
93
               EPS_HARMONIC_LARGEST,
1940 jroman 94
               EPS_REFINED,
95
               EPS_REFINED_HARMONIC } EPSExtraction;
1426 slepc 96
 
97
/*E
1364 slepc 98
    EPSWhich - determines which part of the spectrum is requested
99
 
100
    Level: intermediate
101
 
102
.seealso: EPSSetWhichEigenpairs(), EPSGetWhichEigenpairs()
103
E*/
1942 jroman 104
typedef enum { EPS_LARGEST_MAGNITUDE=1,
1940 jroman 105
               EPS_SMALLEST_MAGNITUDE,
106
               EPS_LARGEST_REAL,
107
               EPS_SMALLEST_REAL,
108
               EPS_LARGEST_IMAGINARY,
109
               EPS_SMALLEST_IMAGINARY,
110
               EPS_TARGET_MAGNITUDE,
111
               EPS_TARGET_REAL,
112
               EPS_TARGET_IMAGINARY,
1945 jroman 113
               EPS_WHICH_USER } EPSWhich;
6 dsic.upv.es!jroman 114
 
1799 jroman 115
/*E
116
    EPSBalance - the type of balancing used for non-Hermitian problems
117
 
118
    Level: intermediate
119
 
120
.seealso: EPSSetBalance()
121
E*/
1940 jroman 122
typedef enum { EPS_BALANCE_NONE=1,
123
               EPS_BALANCE_ONESIDE,
124
               EPS_BALANCE_TWOSIDE,
125
               EPS_BALANCE_USER } EPSBalance;
1799 jroman 126
 
476 dsic.upv.es!antodo 127
EXTERN PetscErrorCode EPSCreate(MPI_Comm,EPS *);
128
EXTERN PetscErrorCode EPSDestroy(EPS);
1502 slepc 129
EXTERN PetscErrorCode EPSSetType(EPS,const EPSType);
1501 slepc 130
EXTERN PetscErrorCode EPSGetType(EPS,const EPSType*);
476 dsic.upv.es!antodo 131
EXTERN PetscErrorCode EPSSetProblemType(EPS,EPSProblemType);
132
EXTERN PetscErrorCode EPSGetProblemType(EPS,EPSProblemType*);
1560 slepc 133
EXTERN PetscErrorCode EPSSetExtraction(EPS,EPSExtraction);
134
EXTERN PetscErrorCode EPSGetExtraction(EPS,EPSExtraction*);
1799 jroman 135
EXTERN PetscErrorCode EPSSetBalance(EPS,EPSBalance,PetscInt,PetscReal);
136
EXTERN PetscErrorCode EPSGetBalance(EPS,EPSBalance*,PetscInt*,PetscReal*);
476 dsic.upv.es!antodo 137
EXTERN PetscErrorCode EPSSetOperators(EPS,Mat,Mat);
1516 slepc 138
EXTERN PetscErrorCode EPSGetOperators(EPS,Mat*,Mat*);
476 dsic.upv.es!antodo 139
EXTERN PetscErrorCode EPSSetFromOptions(EPS);
140
EXTERN PetscErrorCode EPSSetUp(EPS);
141
EXTERN PetscErrorCode EPSSolve(EPS);
142
EXTERN PetscErrorCode EPSView(EPS,PetscViewer);
6 dsic.upv.es!jroman 143
 
1425 slepc 144
EXTERN PetscErrorCode EPSSetTarget(EPS,PetscScalar);
145
EXTERN PetscErrorCode EPSGetTarget(EPS,PetscScalar*);
476 dsic.upv.es!antodo 146
EXTERN PetscErrorCode EPSSetST(EPS,ST);
147
EXTERN PetscErrorCode EPSGetST(EPS,ST*);
1345 slepc 148
EXTERN PetscErrorCode EPSSetIP(EPS,IP);
149
EXTERN PetscErrorCode EPSGetIP(EPS,IP*);
1509 slepc 150
EXTERN PetscErrorCode EPSSetTolerances(EPS,PetscReal,PetscInt);
151
EXTERN PetscErrorCode EPSGetTolerances(EPS,PetscReal*,PetscInt*);
2030 jroman 152
EXTERN PetscErrorCode EPSSetConvergenceTest(EPS,PetscErrorCode (*)(EPS,PetscScalar,PetscScalar,PetscReal*,PetscTruth*,void*),void*);
153
EXTERN PetscErrorCode EPSDefaultConverged(EPS,PetscScalar,PetscScalar,PetscReal*,PetscTruth*,void*);
154
EXTERN PetscErrorCode EPSAbsoluteConverged(EPS,PetscScalar,PetscScalar,PetscReal*,PetscTruth*,void*);
155
EXTERN PetscErrorCode EPSResidualConverged(EPS,PetscScalar,PetscScalar,PetscReal*,PetscTruth*,void*);
1575 slepc 156
EXTERN PetscErrorCode EPSSetDimensions(EPS,PetscInt,PetscInt,PetscInt);
157
EXTERN PetscErrorCode EPSGetDimensions(EPS,PetscInt*,PetscInt*,PetscInt*);
6 dsic.upv.es!jroman 158
 
1509 slepc 159
EXTERN PetscErrorCode EPSGetConverged(EPS,PetscInt*);
160
EXTERN PetscErrorCode EPSGetEigenpair(EPS,PetscInt,PetscScalar*,PetscScalar*,Vec,Vec);
1936 jroman 161
EXTERN PetscErrorCode EPSGetEigenvalue(EPS,PetscInt,PetscScalar*,PetscScalar*);
162
EXTERN PetscErrorCode EPSGetEigenvector(EPS,PetscInt,Vec,Vec);
163
EXTERN PetscErrorCode EPSGetEigenvectorLeft(EPS,PetscInt,Vec,Vec);
1509 slepc 164
EXTERN PetscErrorCode EPSComputeRelativeError(EPS,PetscInt,PetscReal*);
165
EXTERN PetscErrorCode EPSComputeRelativeErrorLeft(EPS,PetscInt,PetscReal*);
166
EXTERN PetscErrorCode EPSComputeResidualNorm(EPS,PetscInt,PetscReal*);
167
EXTERN PetscErrorCode EPSComputeResidualNormLeft(EPS,PetscInt,PetscReal*);
476 dsic.upv.es!antodo 168
EXTERN PetscErrorCode EPSGetInvariantSubspace(EPS,Vec*);
1936 jroman 169
EXTERN PetscErrorCode EPSGetInvariantSubspaceLeft(EPS,Vec*);
1509 slepc 170
EXTERN PetscErrorCode EPSGetErrorEstimate(EPS,PetscInt,PetscReal*);
171
EXTERN PetscErrorCode EPSGetErrorEstimateLeft(EPS,PetscInt,PetscReal*);
6 dsic.upv.es!jroman 172
 
1509 slepc 173
EXTERN PetscErrorCode EPSMonitorSet(EPS,PetscErrorCode (*)(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*),
1287 slepc 174
                                    void*,PetscErrorCode (*monitordestroy)(void*));
1331 slepc 175
EXTERN PetscErrorCode EPSMonitorCancel(EPS);
476 dsic.upv.es!antodo 176
EXTERN PetscErrorCode EPSGetMonitorContext(EPS,void **);
1509 slepc 177
EXTERN PetscErrorCode EPSGetIterationNumber(EPS,PetscInt*);
178
EXTERN PetscErrorCode EPSGetOperationCounters(EPS,PetscInt*,PetscInt*,PetscInt*);
6 dsic.upv.es!jroman 179
 
476 dsic.upv.es!antodo 180
EXTERN PetscErrorCode EPSSetWhichEigenpairs(EPS,EPSWhich);
1944 jroman 181
EXTERN PetscErrorCode EPSGetWhichEigenpairs(EPS,EPSWhich*);
182
EXTERN PetscErrorCode EPSSetLeftVectorsWanted(EPS,PetscTruth);
183
EXTERN PetscErrorCode EPSGetLeftVectorsWanted(EPS,PetscTruth*);
1957 jroman 184
EXTERN PetscErrorCode EPSSetMatrixNorms(EPS,PetscReal,PetscReal,PetscTruth);
185
EXTERN PetscErrorCode EPSGetMatrixNorms(EPS,PetscReal*,PetscReal*,PetscTruth*);
2031 jroman 186
EXTERN PetscErrorCode EPSSetTrueResidual(EPS,PetscTruth);
187
EXTERN PetscErrorCode EPSGetTrueResidual(EPS,PetscTruth*);
1785 antodo 188
EXTERN PetscErrorCode EPSSetEigenvalueComparison(EPS,PetscErrorCode (*func)(EPS,PetscScalar,PetscScalar,PetscScalar,PetscScalar,PetscInt*,void*),void*);
476 dsic.upv.es!antodo 189
EXTERN PetscErrorCode EPSIsGeneralized(EPS,PetscTruth*);
190
EXTERN PetscErrorCode EPSIsHermitian(EPS,PetscTruth*);
6 dsic.upv.es!jroman 191
 
1509 slepc 192
EXTERN PetscErrorCode EPSMonitorDefault(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
1721 antodo 193
EXTERN PetscErrorCode EPSMonitorFirst(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
194
EXTERN PetscErrorCode EPSMonitorConverged(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
1509 slepc 195
EXTERN PetscErrorCode EPSMonitorLG(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
6 dsic.upv.es!jroman 196
 
1926 jroman 197
EXTERN PetscErrorCode EPSSetDeflationSpace(EPS,PetscInt,Vec*);
780 dsic.upv.es!jroman 198
EXTERN PetscErrorCode EPSRemoveDeflationSpace(EPS);
1933 jroman 199
EXTERN PetscErrorCode EPSSetInitialSpace(EPS,PetscInt,Vec*);
1937 jroman 200
EXTERN PetscErrorCode EPSSetInitialSpaceLeft(EPS,PetscInt,Vec*);
780 dsic.upv.es!jroman 201
 
1248 slepc 202
EXTERN PetscErrorCode EPSSetOptionsPrefix(EPS,const char*);
203
EXTERN PetscErrorCode EPSAppendOptionsPrefix(EPS,const char*);
812 dsic.upv.es!antodo 204
EXTERN PetscErrorCode EPSGetOptionsPrefix(EPS,const char*[]);
6 dsic.upv.es!jroman 205
 
1364 slepc 206
/*E
207
    EPSConvergedReason - reason an eigensolver was said to
208
         have converged or diverged
209
 
1799 jroman 210
    Level: beginner
1364 slepc 211
 
212
.seealso: EPSSolve(), EPSGetConvergedReason(), EPSSetTolerances()
213
E*/
6 dsic.upv.es!jroman 214
typedef enum {/* converged */
215
              EPS_CONVERGED_TOL                =  2,
216
              /* diverged */
217
              EPS_DIVERGED_ITS                 = -3,
218
              EPS_DIVERGED_BREAKDOWN           = -4,
219
              EPS_DIVERGED_NONSYMMETRIC        = -5,
220
              EPS_CONVERGED_ITERATING          =  0} EPSConvergedReason;
221
 
476 dsic.upv.es!antodo 222
EXTERN PetscErrorCode EPSGetConvergedReason(EPS,EPSConvergedReason *);
6 dsic.upv.es!jroman 223
 
1782 antodo 224
EXTERN PetscErrorCode EPSSortEigenvalues(EPS,PetscInt,PetscScalar*,PetscScalar*,PetscInt*);
225
EXTERN PetscErrorCode EPSSortEigenvaluesReal(EPS,PetscInt,PetscReal*,PetscInt*);
226
EXTERN PetscErrorCode EPSCompareEigenvalues(EPS,PetscScalar,PetscScalar,PetscScalar,PetscScalar,PetscInt*);
1509 slepc 227
EXTERN PetscErrorCode EPSDenseNHEP(PetscInt,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*);
228
EXTERN PetscErrorCode EPSDenseGNHEP(PetscInt,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*);
229
EXTERN PetscErrorCode EPSDenseHEP(PetscInt,PetscScalar*,PetscInt,PetscReal*,PetscScalar*);
230
EXTERN PetscErrorCode EPSDenseGHEP(PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscScalar*);
231
EXTERN PetscErrorCode EPSDenseHessenberg(PetscInt,PetscInt,PetscScalar*,PetscInt,PetscScalar*);
232
EXTERN PetscErrorCode EPSDenseSchur(PetscInt,PetscInt,PetscScalar*,PetscInt,PetscScalar*,PetscScalar*,PetscScalar*);
1823 antodo 233
EXTERN PetscErrorCode EPSSortDenseSchur(EPS,PetscInt,PetscInt,PetscScalar*,PetscInt,PetscScalar*,PetscScalar*,PetscScalar*);
2039 eromero 234
EXTERN PetscErrorCode EPSSortDenseSchurGeneralized(EPS,PetscInt,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscInt,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*);
1616 slepc 235
EXTERN PetscErrorCode EPSDenseTridiagonal(PetscInt,PetscReal*,PetscReal*,PetscReal*,PetscScalar*);
676 dsic.upv.es!antodo 236
 
1509 slepc 237
EXTERN PetscErrorCode EPSGetStartVector(EPS,PetscInt,Vec,PetscTruth*);
1937 jroman 238
EXTERN PetscErrorCode EPSGetStartVectorLeft(EPS,PetscInt,Vec,PetscTruth*);
6 dsic.upv.es!jroman 239
 
1509 slepc 240
EXTERN PetscErrorCode EPSRegister(const char*,const char*,const char*,PetscErrorCode(*)(EPS));
1389 slepc 241
#if defined(PETSC_USE_DYNAMIC_LIBRARIES)
242
#define EPSRegisterDynamic(a,b,c,d) EPSRegister(a,b,c,0)
243
#else
244
#define EPSRegisterDynamic(a,b,c,d) EPSRegister(a,b,c,d)
245
#endif
246
EXTERN PetscErrorCode EPSRegisterDestroy(void);
247
 
6 dsic.upv.es!jroman 248
/* --------- options specific to particular eigensolvers -------- */
249
 
1364 slepc 250
/*E
251
    EPSPowerShiftType - determines the type of shift used in the Power iteration
252
 
253
    Level: advanced
254
 
255
.seealso: EPSPowerSetShiftType(), EPSPowerGetShiftType()
256
E*/
1940 jroman 257
typedef enum { EPS_POWER_SHIFT_CONSTANT,
258
               EPS_POWER_SHIFT_RAYLEIGH,
259
               EPS_POWER_SHIFT_WILKINSON } EPSPowerShiftType;
444 dsic.upv.es!antodo 260
 
476 dsic.upv.es!antodo 261
EXTERN PetscErrorCode EPSPowerSetShiftType(EPS,EPSPowerShiftType);
262
EXTERN PetscErrorCode EPSPowerGetShiftType(EPS,EPSPowerShiftType*);
444 dsic.upv.es!antodo 263
 
1098 slepc 264
EXTERN PetscErrorCode EPSArnoldiSetDelayed(EPS,PetscTruth);
265
EXTERN PetscErrorCode EPSArnoldiGetDelayed(EPS,PetscTruth*);
266
 
1364 slepc 267
/*E
268
    EPSLanczosReorthogType - determines the type of reorthogonalization
269
    used in the Lanczos method
270
 
271
    Level: advanced
272
 
273
.seealso: EPSLanczosSetReorthog(), EPSLanczosGetReorthog()
274
E*/
1940 jroman 275
typedef enum { EPS_LANCZOS_REORTHOG_LOCAL,
276
               EPS_LANCZOS_REORTHOG_FULL,
277
               EPS_LANCZOS_REORTHOG_SELECTIVE,
278
               EPS_LANCZOS_REORTHOG_PERIODIC,
279
               EPS_LANCZOS_REORTHOG_PARTIAL,
280
               EPS_LANCZOS_REORTHOG_DELAYED } EPSLanczosReorthogType;
673 dsic.upv.es!antodo 281
 
905 dsic.upv.es!antodo 282
EXTERN PetscErrorCode EPSLanczosSetReorthog(EPS,EPSLanczosReorthogType);
283
EXTERN PetscErrorCode EPSLanczosGetReorthog(EPS,EPSLanczosReorthogType*);
673 dsic.upv.es!antodo 284
 
1509 slepc 285
EXTERN PetscErrorCode EPSBlzpackSetBlockSize(EPS,PetscInt);
476 dsic.upv.es!antodo 286
EXTERN PetscErrorCode EPSBlzpackSetInterval(EPS,PetscReal,PetscReal);
1509 slepc 287
EXTERN PetscErrorCode EPSBlzpackSetNSteps(EPS,PetscInt);
6 dsic.upv.es!jroman 288
 
1364 slepc 289
/*E
290
    EPSPRIMMEMethod - determines the method selected in the PRIMME library
291
 
292
    Level: advanced
293
 
294
.seealso: EPSPRIMMESetMethod(), EPSPRIMMEGetMethod()
295
E*/
1940 jroman 296
typedef enum { EPS_PRIMME_DYNAMIC,
297
               EPS_PRIMME_DEFAULT_MIN_TIME,
298
               EPS_PRIMME_DEFAULT_MIN_MATVECS,
299
               EPS_PRIMME_ARNOLDI,
300
               EPS_PRIMME_GD,
301
               EPS_PRIMME_GD_PLUSK,
302
               EPS_PRIMME_GD_OLSEN_PLUSK,
303
               EPS_PRIMME_JD_OLSEN_PLUSK,
304
               EPS_PRIMME_RQI,
305
               EPS_PRIMME_JDQR,
306
               EPS_PRIMME_JDQMR,
307
               EPS_PRIMME_JDQMR_ETOL,
308
               EPS_PRIMME_SUBSPACE_ITERATION,
309
               EPS_PRIMME_LOBPCG_ORTHOBASIS,
310
               EPS_PRIMME_LOBPCG_ORTHOBASISW } EPSPRIMMEMethod;
1187 slepc 311
 
1509 slepc 312
EXTERN PetscErrorCode EPSPRIMMESetBlockSize(EPS eps,PetscInt bs);
1190 slepc 313
EXTERN PetscErrorCode EPSPRIMMESetMethod(EPS eps, EPSPRIMMEMethod method);
1509 slepc 314
EXTERN PetscErrorCode EPSPRIMMEGetBlockSize(EPS eps,PetscInt *bs);
1190 slepc 315
EXTERN PetscErrorCode EPSPRIMMEGetMethod(EPS eps, EPSPRIMMEMethod *method);
1187 slepc 316
 
1987 eromero 317
EXTERN PetscErrorCode EPSGDSetKrylovStart(EPS eps,PetscTruth krylovstart);
318
EXTERN PetscErrorCode EPSGDGetKrylovStart(EPS eps,PetscTruth *krylovstart);
319
EXTERN PetscErrorCode EPSGDSetBlockSize(EPS eps,PetscInt blocksize);
320
EXTERN PetscErrorCode EPSGDGetBlockSize(EPS eps,PetscInt *blocksize);
321
EXTERN PetscErrorCode EPSGDSetRestart(EPS eps,PetscInt minv,PetscInt plusk);
322
EXTERN PetscErrorCode EPSGDGetRestart(EPS eps,PetscInt *minv,PetscInt *plusk);
323
EXTERN PetscErrorCode EPSGDSetInitialSize(EPS eps,PetscInt initialsize);
324
EXTERN PetscErrorCode EPSGDGetInitialSize(EPS eps,PetscInt *initialsize);
325
 
1995 eromero 326
EXTERN PetscErrorCode EPSJDSetKrylovStart(EPS eps,PetscTruth krylovstart);
327
EXTERN PetscErrorCode EPSJDGetKrylovStart(EPS eps,PetscTruth *krylovstart);
328
EXTERN PetscErrorCode EPSJDSetBlockSize(EPS eps,PetscInt blocksize);
329
EXTERN PetscErrorCode EPSJDGetBlockSize(EPS eps,PetscInt *blocksize);
330
EXTERN PetscErrorCode EPSJDSetRestart(EPS eps,PetscInt minv,PetscInt plusk);
331
EXTERN PetscErrorCode EPSJDGetRestart(EPS eps,PetscInt *minv,PetscInt *plusk);
332
EXTERN PetscErrorCode EPSJDSetInitialSize(EPS eps,PetscInt initialsize);
333
EXTERN PetscErrorCode EPSJDGetInitialSize(EPS eps,PetscInt *initialsize);
334
EXTERN PetscErrorCode EPSJDSetFix(EPS eps,PetscReal fix);
335
EXTERN PetscErrorCode EPSJDGetFix(EPS eps,PetscReal *fix);
336
 
476 dsic.upv.es!antodo 337
PETSC_EXTERN_CXX_END
6 dsic.upv.es!jroman 338
#endif
339