[petsc-users] slepc eigenvectors

Jack Poulson jack.poulson at gmail.com
Tue Jan 3 12:07:17 CST 2012


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>


More information about the petsc-users mailing list