Dharmendar,<br><br>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.<br>
<br>Jack<br><br><div class="gmail_quote">On Tue, Jan 3, 2012 at 11:55 AM, Dharmendar Reddy <span dir="ltr"><<a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I use EPS_GHEP and PetscScalar is complex. I am wondering why i see this result. <br>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. <br>
<br>thanks<span class="HOEnZb"><font color="#888888"><br>Reddy</font></span><div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">On Tue, Jan 3, 2012 at 1:59 AM, Jose E. Roman <span dir="ltr"><<a href="mailto:jroman@dsic.upv.es" target="_blank">jroman@dsic.upv.es</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><br>
On 03/01/2012, Dharmendar Reddy wrote:<br>
<br>
> Hello,<br>
> 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.<br>
><br>
> i copy a small portion of the eigen vector of the lowest magnitude eigenvlaue (=0.0887)<br>
> ---Method: (slepc and eps_type lapack) or matlab-----<br>
> (-0.101596582735892,0.000000000000000E+000)<br>
> (-0.200421875537261,0.000000000000000E+000)<br>
> (-0.293780182034781,0.000000000000000E+000)<br>
> (-0.379124930994127,0.000000000000000E+000)<br>
> ...<br>
> ...<br>
> ...<br>
> (-0.293780182033444,0.000000000000000E+000)<br>
> (-0.200421875536298,0.000000000000000E+000)<br>
> (-0.101596582735387,0.000000000000000E+000)<br>
> ------------------------------------------------------------------------------<br>
> ---Method: (slepc and eps_type defualt or arpack) ----<br>
><br>
><br>
> (5.602609025416389E-002,8.475224384072830E-002)<br>
> (0.110523934800485,0.167192667375096) (0.162006974547097,0.245072510835553)<br>
> (0.209070886310831,0.316267414979582) (0.250431889351034,0.378835368586700)<br>
> (0.284961763219882,0.431069680779720) (0.311718623092706,0.471545535910556)<br>
> (0.329972611445050,0.499158857936955) (0.339225807211469,0.513156427631836)<br>
> (0.339225807166595,0.513156427588630) (0.329972611486755,0.499158857980068)<br>
> (0.311718623054404,0.471545535864886) (0.284961763251251,0.431069680822535)<br>
> (0.250431889322221,0.378835368543795) (0.209070886332945,0.316267415014661)<br>
> (0.162006974528570,0.245072510805346) (0.110523934811968,0.167192667394530)<br>
> (5.602609024797538E-002,8.475224382992022E-002)<br>
<br>
</div></div>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?<br>
<span><font color="#888888"><br>
Jose<br>
<br>
<br>
<br>
</font></span></blockquote></div><br><br clear="all"><br></div></div><div class="HOEnZb"><div class="h5">-- <br>-----------------------------------------------------<br>Dharmendar Reddy Palle<br>Graduate Student<br>Microelectronics Research center,<br>
University of Texas at Austin,<br>
10100 Burnet Road, Bldg. 160<br>MER 2.608F, TX 78758-4445<br>e-mail: <a href="mailto:dharmareddy84@gmail.com" target="_blank">dharmareddy84@gmail.com</a><br>Phone: <a href="tel:%2B1-512-350-9082" value="+15123509082" target="_blank">+1-512-350-9082</a><br>
United States of America.<br><br>
</div></div></blockquote></div><br>