| Line 48... |
Line 48... |
|
|
if (eps->isgeneralized)
|
if (eps->isgeneralized)
|
SETERRQ(PETSC_ERR_SUP,"Requested method is not available for generalized problems");
|
SETERRQ(PETSC_ERR_SUP,"Requested method is not available for generalized problems");
|
|
|
if (!eps->which) eps->which = EPS_LARGEST_REAL;
|
if (!eps->which) eps->which = EPS_LARGEST_REAL;
|
if (eps->which!=EPS_LARGEST_REAL && eps->which!=EPS_SMALLEST_REAL)
|
if (eps->which!=EPS_LARGEST_REAL && eps->which!=EPS_SMALLEST_REAL && eps->which!=EPS_TARGET_REAL)
|
SETERRQ(1,"Wrong value of eps->which");
|
SETERRQ(1,"Wrong value of eps->which");
|
|
|
tr->restart = 0;
|
tr->restart = 0;
|
tr->maxlan = PetscBLASIntCast(eps->nev+PetscMin(eps->nev,6));
|
tr->maxlan = PetscBLASIntCast(eps->nev+PetscMin(eps->nev,6));
|
if (tr->maxlan+1-eps->ncv<=0) { tr->lwork = PetscBLASIntCast(tr->maxlan*(tr->maxlan+10)); }
|
if (tr->maxlan+1-eps->ncv<=0) { tr->lwork = PetscBLASIntCast(tr->maxlan*(tr->maxlan+10)); }
|
| Line 108... |
Line 108... |
PetscFunctionBegin;
|
PetscFunctionBegin;
|
|
|
ncv = PetscBLASIntCast(eps->ncv);
|
ncv = PetscBLASIntCast(eps->ncv);
|
n = PetscBLASIntCast(eps->nloc);
|
n = PetscBLASIntCast(eps->nloc);
|
|
|
if (eps->which==EPS_LARGEST_REAL) lohi = 1;
|
if (eps->which==EPS_LARGEST_REAL || eps->which==EPS_TARGET_REAL) lohi = 1;
|
else if (eps->which==EPS_SMALLEST_REAL) lohi = -1;
|
else if (eps->which==EPS_SMALLEST_REAL) lohi = -1;
|
else SETERRQ(1,"Wrong value of eps->which");
|
else SETERRQ(1,"Wrong value of eps->which");
|
|
|
globaleps = eps;
|
globaleps = eps;
|
|
|