[petsc-users] In place access to eigenvectors of EPS
Jose E. Roman
jroman at dsic.upv.es
Sun Mar 29 05:34:11 CDT 2015
El 29/03/2015, a las 06:02, Andrew Spott escribió:
> >What is the use case for this?
>
> Orthogonalization between left and right eigenvectors. I’ve got two EPS instances, one for the left and one for the right eigenvectors, and I need to orthogonalize them with respect to each other: enforce L^H R = 1. Copying every vector out of both BVs seems wasteful. Especially because I don’t really need the EPS to do anything with them after this.
>
> I noticed in the source for EPSGetEigenvector that there is a “permutation” array that might change the order of the vectors in the BV. Is there a way to get this using the public API?
>
> It appears that I can call “EPSGetEigenvector” to make sure that “EPSComputeVectors” is called, so I get eigenvectors instead of Shur vectors or other things. But I’m not sure how to get the permutation back.
>
> -Andrew
>
No, there is currently no way of getting the permutation out of EPS.
I don't think it is wasteful to copy all eigenvectors out of EPS. This is done only once, and after that you can destroy the EPS.
Jose
More information about the petsc-users
mailing list