| Line 537... |
Line 537... |
ierr = SlepcUpdateVectorsZ(X, 0.0, 1.0, d->V, d->size_H, &d->pX[d->ldpX*r_s],
|
ierr = SlepcUpdateVectorsZ(X, 0.0, 1.0, d->V, d->size_H, &d->pX[d->ldpX*r_s],
|
d->ldpX, d->size_H, r_e-r_s); CHKERRQ(ierr);
|
d->ldpX, d->size_H, r_e-r_s); CHKERRQ(ierr);
|
}
|
}
|
|
|
/* nX[i] <- ||X[i]|| */
|
/* nX[i] <- ||X[i]|| */
|
if (d->correctXnorm == PETSC_TRUE) for(i=0; i<r_e-r_s; i++) {
|
if (d->correctXnorm) for(i=0; i<r_e-r_s; i++) {
|
ierr = VecNorm(X[i], NORM_2, &d->nX[r_s+i]); CHKERRQ(ierr);
|
ierr = VecNorm(X[i], NORM_2, &d->nX[r_s+i]); CHKERRQ(ierr);
|
} else for(i=0; i<r_e-r_s; i++) {
|
} else for(i=0; i<r_e-r_s; i++) {
|
d->nX[r_s+i] = 1.0;
|
d->nX[r_s+i] = 1.0;
|
}
|
}
|
|
|
| Line 659... |
Line 659... |
|
|
if (cX) for (i=0; i<r_e-r_s; i++) {
|
if (cX) for (i=0; i<r_e-r_s; i++) {
|
ierr = IPOrthogonalize(d->ipI, 0, PETSC_NULL, d->size_cX, PETSC_NULL,
|
ierr = IPOrthogonalize(d->ipI, 0, PETSC_NULL, d->size_cX, PETSC_NULL,
|
cX, R[i], PETSC_NULL, &d->nR[r_s+i], &lindep);
|
cX, R[i], PETSC_NULL, &d->nR[r_s+i], &lindep);
|
CHKERRQ(ierr);
|
CHKERRQ(ierr);
|
if((lindep == PETSC_TRUE) || (d->nR[r_s+i] < PETSC_MACHINE_EPSILON)) {
|
if(lindep || (d->nR[r_s+i] < PETSC_MACHINE_EPSILON)) {
|
SETERRQ(1, "Error during the residual computation of the eigenvectors!");
|
SETERRQ(1, "Error during the residual computation of the eigenvectors!");
|
}
|
}
|
|
|
} else for(i=0; i<r_e-r_s; i++) {
|
} else for(i=0; i<r_e-r_s; i++) {
|
ierr = VecNorm(R[i], NORM_2, &d->nR[r_s+i]); CHKERRQ(ierr);
|
ierr = VecNorm(R[i], NORM_2, &d->nR[r_s+i]); CHKERRQ(ierr);
|