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>

Reply via email to