Dharmendar, If your matrix is real, and you want real eigenvectors, you should set PetscScalar to be real. I'm sure that you are aware that the phase of eigenvectors is arbitrary; there is no reason to assume that a complex eigensolver would pick out a purely real eigenvector when it exists.
Jack On Tue, Jan 3, 2012 at 11:55 AM, Dharmendar Reddy <dharmareddy84 at gmail.com>wrote: > I use EPS_GHEP and PetscScalar is complex. I am wondering why i see this > result. > You can see from the eigenvectors in the previous email that the > magnitudes of the components match. For the lapack/matlab solution the > phase is pi (180 degres) for each component where as for defualt or arpack > method phase is 56.53 degrees for each component. I will prepare a test > case and email the code. > > thanks > Reddy > > > On Tue, Jan 3, 2012 at 1:59 AM, Jose E. Roman <jroman at dsic.upv.es> wrote: > >> >> On 03/01/2012, Dharmendar Reddy wrote: >> >> > Hello, >> > I have a query regarding the eigenvectors computed in slepc. I >> am solving a genralized eigenvalue problem. I have attached the A and B >> matrices with this email. If i run slepc solver with default options are >> arpack, i get one set of vectors (complex) as solution. If i run with >> eps_type lapack I get real vectors. A is hermitian, and B is positive >> definite. ( the actual problem is a schrodinger equation for particle in >> infinite potential well, so the solution will be of the form sin(x)). I >> check the solution in matlab using eig(A,B) i get real vectors. Looks like >> there is some unitary transformation involved here, can you tell me what >> could be going on. >> > >> > i copy a small portion of the eigen vector of the lowest magnitude >> eigenvlaue (=0.0887) >> > ---Method: (slepc and eps_type lapack) or matlab----- >> > (-0.101596582735892,0.000000000000000E+000) >> > (-0.200421875537261,0.000000000000000E+000) >> > (-0.293780182034781,0.000000000000000E+000) >> > (-0.379124930994127,0.000000000000000E+000) >> > ... >> > ... >> > ... >> > (-0.293780182033444,0.000000000000000E+000) >> > (-0.200421875536298,0.000000000000000E+000) >> > (-0.101596582735387,0.000000000000000E+000) >> > >> ------------------------------------------------------------------------------ >> > ---Method: (slepc and eps_type defualt or arpack) ---- >> > >> > >> > (5.602609025416389E-002,8.475224384072830E-002) >> > (0.110523934800485,0.167192667375096) >> (0.162006974547097,0.245072510835553) >> > (0.209070886310831,0.316267414979582) >> (0.250431889351034,0.378835368586700) >> > (0.284961763219882,0.431069680779720) >> (0.311718623092706,0.471545535910556) >> > (0.329972611445050,0.499158857936955) >> (0.339225807211469,0.513156427631836) >> > (0.339225807166595,0.513156427588630) >> (0.329972611486755,0.499158857980068) >> > (0.311718623054404,0.471545535864886) >> (0.284961763251251,0.431069680822535) >> > (0.250431889322221,0.378835368543795) >> (0.209070886332945,0.316267415014661) >> > (0.162006974528570,0.245072510805346) >> (0.110523934811968,0.167192667394530) >> > (5.602609024797538E-002,8.475224382992022E-002) >> >> I cannot reproduce the problem. I always get the correct eigenvector. Are >> you doing the computation in real arithmetic? Are you setting the problem >> type to EPS_GHEP? >> >> Jose >> >> >> >> > > > -- > ----------------------------------------------------- > Dharmendar Reddy Palle > Graduate Student > Microelectronics Research center, > University of Texas at Austin, > 10100 Burnet Road, Bldg. 160 > MER 2.608F, TX 78758-4445 > e-mail: dharmareddy84 at gmail.com > Phone: +1-512-350-9082 > United States of America. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120103/162daf5e/attachment.htm>
