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
2116 eromero 6
   Copyright (c) 2002-2010, 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"
2073 jroman 57
#define EPSGD        "gd"
58
#define EPSJD        "jd"
6 dsic.upv.es!jroman 59
#define EPSLAPACK    "lapack"
60
/* the next ones are interfaces to external libraries */
61
#define EPSARPACK    "arpack"
62
#define EPSBLZPACK   "blzpack"
63
#define EPSTRLAN     "trlan"
1195 slepc 64
#define EPSBLOPEX    "blopex"
1187 slepc 65
#define EPSPRIMME    "primme"
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
 
2083 eromero 127
/*E
128
    EPSConv - determines the convergence test
129
 
130
    Level: intermediate
131
 
132
.seealso: EPSSetConvergenceTest(), EPSSetConvergenceTestFunction()
133
E*/
134
typedef enum { EPS_CONV_ABS=1,
135
               EPS_CONV_EIG,
136
               EPS_CONV_NORM,
137
               EPS_CONV_USER } EPSConv;
138
 
476 dsic.upv.es!antodo 139
EXTERN PetscErrorCode EPSCreate(MPI_Comm,EPS *);
140
EXTERN PetscErrorCode EPSDestroy(EPS);
1502 slepc 141
EXTERN PetscErrorCode EPSSetType(EPS,const EPSType);
1501 slepc 142
EXTERN PetscErrorCode EPSGetType(EPS,const EPSType*);
476 dsic.upv.es!antodo 143
EXTERN PetscErrorCode EPSSetProblemType(EPS,EPSProblemType);
144
EXTERN PetscErrorCode EPSGetProblemType(EPS,EPSProblemType*);
1560 slepc 145
EXTERN PetscErrorCode EPSSetExtraction(EPS,EPSExtraction);
146
EXTERN PetscErrorCode EPSGetExtraction(EPS,EPSExtraction*);
1799 jroman 147
EXTERN PetscErrorCode EPSSetBalance(EPS,EPSBalance,PetscInt,PetscReal);
148
EXTERN PetscErrorCode EPSGetBalance(EPS,EPSBalance*,PetscInt*,PetscReal*);
476 dsic.upv.es!antodo 149
EXTERN PetscErrorCode EPSSetOperators(EPS,Mat,Mat);
1516 slepc 150
EXTERN PetscErrorCode EPSGetOperators(EPS,Mat*,Mat*);
476 dsic.upv.es!antodo 151
EXTERN PetscErrorCode EPSSetFromOptions(EPS);
152
EXTERN PetscErrorCode EPSSetUp(EPS);
153
EXTERN PetscErrorCode EPSSolve(EPS);
154
EXTERN PetscErrorCode EPSView(EPS,PetscViewer);
6 dsic.upv.es!jroman 155
 
1425 slepc 156
EXTERN PetscErrorCode EPSSetTarget(EPS,PetscScalar);
157
EXTERN PetscErrorCode EPSGetTarget(EPS,PetscScalar*);
476 dsic.upv.es!antodo 158
EXTERN PetscErrorCode EPSSetST(EPS,ST);
159
EXTERN PetscErrorCode EPSGetST(EPS,ST*);
1345 slepc 160
EXTERN PetscErrorCode EPSSetIP(EPS,IP);
161
EXTERN PetscErrorCode EPSGetIP(EPS,IP*);
1509 slepc 162
EXTERN PetscErrorCode EPSSetTolerances(EPS,PetscReal,PetscInt);
163
EXTERN PetscErrorCode EPSGetTolerances(EPS,PetscReal*,PetscInt*);
2083 eromero 164
EXTERN PetscErrorCode EPSSetConvergenceTestFunction(EPS,PetscErrorCode (*)(EPS,PetscScalar,PetscScalar,PetscReal,PetscReal*,void*),void*);
165
EXTERN PetscErrorCode EPSSetConvergenceTest(EPS eps,EPSConv conv);
166
EXTERN PetscErrorCode EPSGetConvergenceTest(EPS eps,EPSConv *conv);
167
EXTERN PetscErrorCode EPSEigRelativeConverged(EPS,PetscScalar,PetscScalar,PetscReal,PetscReal*,void*);
2070 jroman 168
EXTERN PetscErrorCode EPSAbsoluteConverged(EPS,PetscScalar,PetscScalar,PetscReal,PetscReal*,void*);
2071 jroman 169
EXTERN PetscErrorCode EPSNormRelativeConverged(EPS,PetscScalar,PetscScalar,PetscReal,PetscReal*,void*);
1575 slepc 170
EXTERN PetscErrorCode EPSSetDimensions(EPS,PetscInt,PetscInt,PetscInt);
171
EXTERN PetscErrorCode EPSGetDimensions(EPS,PetscInt*,PetscInt*,PetscInt*);
6 dsic.upv.es!jroman 172
 
1509 slepc 173
EXTERN PetscErrorCode EPSGetConverged(EPS,PetscInt*);
174
EXTERN PetscErrorCode EPSGetEigenpair(EPS,PetscInt,PetscScalar*,PetscScalar*,Vec,Vec);
1936 jroman 175
EXTERN PetscErrorCode EPSGetEigenvalue(EPS,PetscInt,PetscScalar*,PetscScalar*);
176
EXTERN PetscErrorCode EPSGetEigenvector(EPS,PetscInt,Vec,Vec);
177
EXTERN PetscErrorCode EPSGetEigenvectorLeft(EPS,PetscInt,Vec,Vec);
1509 slepc 178
EXTERN PetscErrorCode EPSComputeRelativeError(EPS,PetscInt,PetscReal*);
179
EXTERN PetscErrorCode EPSComputeRelativeErrorLeft(EPS,PetscInt,PetscReal*);
180
EXTERN PetscErrorCode EPSComputeResidualNorm(EPS,PetscInt,PetscReal*);
181
EXTERN PetscErrorCode EPSComputeResidualNormLeft(EPS,PetscInt,PetscReal*);
476 dsic.upv.es!antodo 182
EXTERN PetscErrorCode EPSGetInvariantSubspace(EPS,Vec*);
1936 jroman 183
EXTERN PetscErrorCode EPSGetInvariantSubspaceLeft(EPS,Vec*);
1509 slepc 184
EXTERN PetscErrorCode EPSGetErrorEstimate(EPS,PetscInt,PetscReal*);
185
EXTERN PetscErrorCode EPSGetErrorEstimateLeft(EPS,PetscInt,PetscReal*);
6 dsic.upv.es!jroman 186
 
1509 slepc 187
EXTERN PetscErrorCode EPSMonitorSet(EPS,PetscErrorCode (*)(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*),
1287 slepc 188
                                    void*,PetscErrorCode (*monitordestroy)(void*));
1331 slepc 189
EXTERN PetscErrorCode EPSMonitorCancel(EPS);
476 dsic.upv.es!antodo 190
EXTERN PetscErrorCode EPSGetMonitorContext(EPS,void **);
1509 slepc 191
EXTERN PetscErrorCode EPSGetIterationNumber(EPS,PetscInt*);
192
EXTERN PetscErrorCode EPSGetOperationCounters(EPS,PetscInt*,PetscInt*,PetscInt*);
6 dsic.upv.es!jroman 193
 
476 dsic.upv.es!antodo 194
EXTERN PetscErrorCode EPSSetWhichEigenpairs(EPS,EPSWhich);
1944 jroman 195
EXTERN PetscErrorCode EPSGetWhichEigenpairs(EPS,EPSWhich*);
196
EXTERN PetscErrorCode EPSSetLeftVectorsWanted(EPS,PetscTruth);
197
EXTERN PetscErrorCode EPSGetLeftVectorsWanted(EPS,PetscTruth*);
1957 jroman 198
EXTERN PetscErrorCode EPSSetMatrixNorms(EPS,PetscReal,PetscReal,PetscTruth);
199
EXTERN PetscErrorCode EPSGetMatrixNorms(EPS,PetscReal*,PetscReal*,PetscTruth*);
2031 jroman 200
EXTERN PetscErrorCode EPSSetTrueResidual(EPS,PetscTruth);
201
EXTERN PetscErrorCode EPSGetTrueResidual(EPS,PetscTruth*);
1785 antodo 202
EXTERN PetscErrorCode EPSSetEigenvalueComparison(EPS,PetscErrorCode (*func)(EPS,PetscScalar,PetscScalar,PetscScalar,PetscScalar,PetscInt*,void*),void*);
476 dsic.upv.es!antodo 203
EXTERN PetscErrorCode EPSIsGeneralized(EPS,PetscTruth*);
204
EXTERN PetscErrorCode EPSIsHermitian(EPS,PetscTruth*);
6 dsic.upv.es!jroman 205
 
1721 antodo 206
EXTERN PetscErrorCode EPSMonitorFirst(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
2041 eromero 207
EXTERN PetscErrorCode EPSMonitorAll(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
1721 antodo 208
EXTERN PetscErrorCode EPSMonitorConverged(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
1509 slepc 209
EXTERN PetscErrorCode EPSMonitorLG(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
2041 eromero 210
EXTERN PetscErrorCode EPSMonitorLGAll(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*);
6 dsic.upv.es!jroman 211
 
2041 eromero 212
EXTERN PetscErrorCode EPSSetTrackAll(EPS,PetscTruth);
213
EXTERN PetscErrorCode EPSGetTrackAll(EPS,PetscTruth*);
214
 
1926 jroman 215
EXTERN PetscErrorCode EPSSetDeflationSpace(EPS,PetscInt,Vec*);
780 dsic.upv.es!jroman 216
EXTERN PetscErrorCode EPSRemoveDeflationSpace(EPS);
1933 jroman 217
EXTERN PetscErrorCode EPSSetInitialSpace(EPS,PetscInt,Vec*);
1937 jroman 218
EXTERN PetscErrorCode EPSSetInitialSpaceLeft(EPS,PetscInt,Vec*);
780 dsic.upv.es!jroman 219
 
1248 slepc 220
EXTERN PetscErrorCode EPSSetOptionsPrefix(EPS,const char*);
221
EXTERN PetscErrorCode EPSAppendOptionsPrefix(EPS,const char*);
812 dsic.upv.es!antodo 222
EXTERN PetscErrorCode EPSGetOptionsPrefix(EPS,const char*[]);
6 dsic.upv.es!jroman 223
 
1364 slepc 224
/*E
225
    EPSConvergedReason - reason an eigensolver was said to
226
         have converged or diverged
227
 
1799 jroman 228
    Level: beginner
1364 slepc 229
 
230
.seealso: EPSSolve(), EPSGetConvergedReason(), EPSSetTolerances()
231
E*/
6 dsic.upv.es!jroman 232
typedef enum {/* converged */
233
              EPS_CONVERGED_TOL                =  2,
234
              /* diverged */
235
              EPS_DIVERGED_ITS                 = -3,
236
              EPS_DIVERGED_BREAKDOWN           = -4,
237
              EPS_DIVERGED_NONSYMMETRIC        = -5,
238
              EPS_CONVERGED_ITERATING          =  0} EPSConvergedReason;
239
 
476 dsic.upv.es!antodo 240
EXTERN PetscErrorCode EPSGetConvergedReason(EPS,EPSConvergedReason *);
6 dsic.upv.es!jroman 241
 
1782 antodo 242
EXTERN PetscErrorCode EPSSortEigenvalues(EPS,PetscInt,PetscScalar*,PetscScalar*,PetscInt*);
243
EXTERN PetscErrorCode EPSSortEigenvaluesReal(EPS,PetscInt,PetscReal*,PetscInt*);
244
EXTERN PetscErrorCode EPSCompareEigenvalues(EPS,PetscScalar,PetscScalar,PetscScalar,PetscScalar,PetscInt*);
1509 slepc 245
EXTERN PetscErrorCode EPSDenseNHEP(PetscInt,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*);
246
EXTERN PetscErrorCode EPSDenseGNHEP(PetscInt,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*);
247
EXTERN PetscErrorCode EPSDenseHEP(PetscInt,PetscScalar*,PetscInt,PetscReal*,PetscScalar*);
248
EXTERN PetscErrorCode EPSDenseGHEP(PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscScalar*);
249
EXTERN PetscErrorCode EPSDenseHessenberg(PetscInt,PetscInt,PetscScalar*,PetscInt,PetscScalar*);
250
EXTERN PetscErrorCode EPSDenseSchur(PetscInt,PetscInt,PetscScalar*,PetscInt,PetscScalar*,PetscScalar*,PetscScalar*);
1823 antodo 251
EXTERN PetscErrorCode EPSSortDenseSchur(EPS,PetscInt,PetscInt,PetscScalar*,PetscInt,PetscScalar*,PetscScalar*,PetscScalar*);
2039 eromero 252
EXTERN PetscErrorCode EPSSortDenseSchurGeneralized(EPS,PetscInt,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscInt,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*);
1616 slepc 253
EXTERN PetscErrorCode EPSDenseTridiagonal(PetscInt,PetscReal*,PetscReal*,PetscReal*,PetscScalar*);
676 dsic.upv.es!antodo 254
 
1509 slepc 255
EXTERN PetscErrorCode EPSGetStartVector(EPS,PetscInt,Vec,PetscTruth*);
1937 jroman 256
EXTERN PetscErrorCode EPSGetStartVectorLeft(EPS,PetscInt,Vec,PetscTruth*);
6 dsic.upv.es!jroman 257
 
1509 slepc 258
EXTERN PetscErrorCode EPSRegister(const char*,const char*,const char*,PetscErrorCode(*)(EPS));
1389 slepc 259
#if defined(PETSC_USE_DYNAMIC_LIBRARIES)
260
#define EPSRegisterDynamic(a,b,c,d) EPSRegister(a,b,c,0)
261
#else
262
#define EPSRegisterDynamic(a,b,c,d) EPSRegister(a,b,c,d)
263
#endif
264
EXTERN PetscErrorCode EPSRegisterDestroy(void);
265
 
6 dsic.upv.es!jroman 266
/* --------- options specific to particular eigensolvers -------- */
267
 
1364 slepc 268
/*E
269
    EPSPowerShiftType - determines the type of shift used in the Power iteration
270
 
271
    Level: advanced
272
 
273
.seealso: EPSPowerSetShiftType(), EPSPowerGetShiftType()
274
E*/
1940 jroman 275
typedef enum { EPS_POWER_SHIFT_CONSTANT,
276
               EPS_POWER_SHIFT_RAYLEIGH,
277
               EPS_POWER_SHIFT_WILKINSON } EPSPowerShiftType;
444 dsic.upv.es!antodo 278
 
476 dsic.upv.es!antodo 279
EXTERN PetscErrorCode EPSPowerSetShiftType(EPS,EPSPowerShiftType);
280
EXTERN PetscErrorCode EPSPowerGetShiftType(EPS,EPSPowerShiftType*);
444 dsic.upv.es!antodo 281
 
1098 slepc 282
EXTERN PetscErrorCode EPSArnoldiSetDelayed(EPS,PetscTruth);
283
EXTERN PetscErrorCode EPSArnoldiGetDelayed(EPS,PetscTruth*);
284
 
1364 slepc 285
/*E
286
    EPSLanczosReorthogType - determines the type of reorthogonalization
287
    used in the Lanczos method
288
 
289
    Level: advanced
290
 
291
.seealso: EPSLanczosSetReorthog(), EPSLanczosGetReorthog()
292
E*/
1940 jroman 293
typedef enum { EPS_LANCZOS_REORTHOG_LOCAL,
294
               EPS_LANCZOS_REORTHOG_FULL,
295
               EPS_LANCZOS_REORTHOG_SELECTIVE,
296
               EPS_LANCZOS_REORTHOG_PERIODIC,
297
               EPS_LANCZOS_REORTHOG_PARTIAL,
298
               EPS_LANCZOS_REORTHOG_DELAYED } EPSLanczosReorthogType;
673 dsic.upv.es!antodo 299
 
905 dsic.upv.es!antodo 300
EXTERN PetscErrorCode EPSLanczosSetReorthog(EPS,EPSLanczosReorthogType);
301
EXTERN PetscErrorCode EPSLanczosGetReorthog(EPS,EPSLanczosReorthogType*);
673 dsic.upv.es!antodo 302
 
1509 slepc 303
EXTERN PetscErrorCode EPSBlzpackSetBlockSize(EPS,PetscInt);
476 dsic.upv.es!antodo 304
EXTERN PetscErrorCode EPSBlzpackSetInterval(EPS,PetscReal,PetscReal);
1509 slepc 305
EXTERN PetscErrorCode EPSBlzpackSetNSteps(EPS,PetscInt);
6 dsic.upv.es!jroman 306
 
1364 slepc 307
/*E
308
    EPSPRIMMEMethod - determines the method selected in the PRIMME library
309
 
310
    Level: advanced
311
 
312
.seealso: EPSPRIMMESetMethod(), EPSPRIMMEGetMethod()
313
E*/
1940 jroman 314
typedef enum { EPS_PRIMME_DYNAMIC,
315
               EPS_PRIMME_DEFAULT_MIN_TIME,
316
               EPS_PRIMME_DEFAULT_MIN_MATVECS,
317
               EPS_PRIMME_ARNOLDI,
318
               EPS_PRIMME_GD,
319
               EPS_PRIMME_GD_PLUSK,
320
               EPS_PRIMME_GD_OLSEN_PLUSK,
321
               EPS_PRIMME_JD_OLSEN_PLUSK,
322
               EPS_PRIMME_RQI,
323
               EPS_PRIMME_JDQR,
324
               EPS_PRIMME_JDQMR,
325
               EPS_PRIMME_JDQMR_ETOL,
326
               EPS_PRIMME_SUBSPACE_ITERATION,
327
               EPS_PRIMME_LOBPCG_ORTHOBASIS,
328
               EPS_PRIMME_LOBPCG_ORTHOBASISW } EPSPRIMMEMethod;
1187 slepc 329
 
1509 slepc 330
EXTERN PetscErrorCode EPSPRIMMESetBlockSize(EPS eps,PetscInt bs);
1190 slepc 331
EXTERN PetscErrorCode EPSPRIMMESetMethod(EPS eps, EPSPRIMMEMethod method);
1509 slepc 332
EXTERN PetscErrorCode EPSPRIMMEGetBlockSize(EPS eps,PetscInt *bs);
1190 slepc 333
EXTERN PetscErrorCode EPSPRIMMEGetMethod(EPS eps, EPSPRIMMEMethod *method);
1187 slepc 334
 
1987 eromero 335
EXTERN PetscErrorCode EPSGDSetKrylovStart(EPS eps,PetscTruth krylovstart);
336
EXTERN PetscErrorCode EPSGDGetKrylovStart(EPS eps,PetscTruth *krylovstart);
337
EXTERN PetscErrorCode EPSGDSetBlockSize(EPS eps,PetscInt blocksize);
338
EXTERN PetscErrorCode EPSGDGetBlockSize(EPS eps,PetscInt *blocksize);
339
EXTERN PetscErrorCode EPSGDSetRestart(EPS eps,PetscInt minv,PetscInt plusk);
340
EXTERN PetscErrorCode EPSGDGetRestart(EPS eps,PetscInt *minv,PetscInt *plusk);
341
EXTERN PetscErrorCode EPSGDSetInitialSize(EPS eps,PetscInt initialsize);
342
EXTERN PetscErrorCode EPSGDGetInitialSize(EPS eps,PetscInt *initialsize);
343
 
1995 eromero 344
EXTERN PetscErrorCode EPSJDSetKrylovStart(EPS eps,PetscTruth krylovstart);
345
EXTERN PetscErrorCode EPSJDGetKrylovStart(EPS eps,PetscTruth *krylovstart);
346
EXTERN PetscErrorCode EPSJDSetBlockSize(EPS eps,PetscInt blocksize);
347
EXTERN PetscErrorCode EPSJDGetBlockSize(EPS eps,PetscInt *blocksize);
348
EXTERN PetscErrorCode EPSJDSetRestart(EPS eps,PetscInt minv,PetscInt plusk);
349
EXTERN PetscErrorCode EPSJDGetRestart(EPS eps,PetscInt *minv,PetscInt *plusk);
350
EXTERN PetscErrorCode EPSJDSetInitialSize(EPS eps,PetscInt initialsize);
351
EXTERN PetscErrorCode EPSJDGetInitialSize(EPS eps,PetscInt *initialsize);
352
EXTERN PetscErrorCode EPSJDSetFix(EPS eps,PetscReal fix);
353
EXTERN PetscErrorCode EPSJDGetFix(EPS eps,PetscReal *fix);
354
 
476 dsic.upv.es!antodo 355
PETSC_EXTERN_CXX_END
6 dsic.upv.es!jroman 356
#endif
357