mirror of
https://github.com/LCPQ/DEHam
synced 2025-01-03 01:55:55 +01:00
added calculation of norm of resulting eigenvector
This commit is contained in:
parent
ee3afdd71e
commit
85b10c2f62
21
src/ex1.c
21
src/ex1.c
@ -12,6 +12,7 @@ int main(int argc,char **argv)
|
|||||||
EPS eps; /* eigenproblem solver context */
|
EPS eps; /* eigenproblem solver context */
|
||||||
EPSType type;
|
EPSType type;
|
||||||
PetscReal error,tol,re,im;
|
PetscReal error,tol,re,im;
|
||||||
|
PetscReal norm;
|
||||||
PetscScalar kr,ki,value[700];
|
PetscScalar kr,ki,value[700];
|
||||||
Vec xr,xi;
|
Vec xr,xi;
|
||||||
PetscInt i,Istart,Iend,col[700],maxit,its,nconv,countcol;
|
PetscInt i,Istart,Iend,col[700],maxit,its,nconv,countcol;
|
||||||
@ -204,6 +205,26 @@ int main(int argc,char **argv)
|
|||||||
PetscViewerDestroy(&viewer);
|
PetscViewerDestroy(&viewer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* now analyzing the eigenvector
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (nconv>0) {
|
||||||
|
|
||||||
|
for (i=0;i<nev;i++) {
|
||||||
|
/*
|
||||||
|
Get converged eigenpairs: i-th eigenvalue is stored in kr (real part) and
|
||||||
|
ki (imaginary part)
|
||||||
|
*/
|
||||||
|
ierr = EPSGetEigenpair(eps,i,&kr,&ki,xr,xi);CHKERRQ(ierr);
|
||||||
|
|
||||||
|
ierr = VecNorm(xr, NORM_2, &norm);CHKERRQ(ierr);
|
||||||
|
PetscPrintf(PETSC_COMM_WORLD," Norm = %18f \n", (double)norm);
|
||||||
|
|
||||||
|
}
|
||||||
|
ierr = PetscPrintf(PETSC_COMM_WORLD,"\n");CHKERRQ(ierr);
|
||||||
|
}
|
||||||
|
|
||||||
ierr = EPSDestroy(&eps);CHKERRQ(ierr);
|
ierr = EPSDestroy(&eps);CHKERRQ(ierr);
|
||||||
ierr = MatDestroy(&A);CHKERRQ(ierr);
|
ierr = MatDestroy(&A);CHKERRQ(ierr);
|
||||||
ierr = VecDestroy(&xr);CHKERRQ(ierr);
|
ierr = VecDestroy(&xr);CHKERRQ(ierr);
|
||||||
|
Loading…
Reference in New Issue
Block a user