[petsc-users] How to get the eigenvectors in Slepc
Jose E. Roman
jroman at dsic.upv.es
Mon Apr 15 02:38:21 CDT 2013
El 15/04/2013, a las 09:22, Sonya Blade escribió:
>> Let me put it more clearly: you are not getting eigenvector entries, your printing statement is
>> nonsense (you >print a pointer as a floating point number), so you cannot say the imaginary part is
>> nonzero. It is indeed >zero, SLEPc gives the right solution, your program is wrong.
>> Jose
>
> Sorry and thank you for clarifying that,
> One last question, I got the correct eigenvalues, now I got the
> eigenvectors, but they differ from the exact solution.
>
> For example, for the first eigenvalue(2405.247) I got the following eigenvector
> set where it differ from the exact solution, what could be the possible reason of that?
>
> Regards,
>
> Row Exact Results SLEPC RESULTS
> 0 0.2255511 -0.014234
> 1 -5.2313502 0.330131
> 2 3.1352583 -0.197855
> 3 -4.4245184 0.279215
> 4 0.0898345 -0.005669
> 5 1.9278406 -0.121659
> 6 0.0033757 -0.000213
> 7 -0.7077308 0.044662
> 8 0.0687009 -0.004335
> 9 0.1684281 -0.010629
> 10 -2.81293611 0.177514
> 11 1.93270712 -0.121966
> 12 -0.00306213 0.000193
> 13 0.88278714 -0.055709
> 14 -0.70857415: 0.044715
> 15 0.03025516: -0.001909
> 16 -2.81094417: 0.177388
> 17 1.12005518: -0.070683
> 18 2.73596119: -0.172656
> 19 0.22734020: -0.014347
> 20 -4.42534221: 0.279267
> 21 2.22134222: -0.140181
> 22 -5.00448323: 0.315815
> 23 0.17399224: -0.01098
> 24 2.38934725: -0.150783
> 25 -3.75380226: 0.236889
> 26 0.09633427: -0.006079
> 27 0.48140228: -0.03038
> 28 -1.52250229: 0.09608
> 29 -0.00132830: 0.000084
> 30 1.16923331: -0.073786
> 31 0.09701232: -0.006122
> 32 0.00268833: -0.00017
> 33 1.59855934: -0.100879
> 34 -3.75642735: 0.237054
> 35 0.13951936: -0.008805
> 36 1.17316037: -0.074034
> 37 -1.32576838: 0.083664
> 38 -0.00203439: 0.000128
> 39 0.47943940: -0.030256
> 40 0.09694141: -0.006118
> 41 0.00071442: -0.000045
> 42 0.14814343: -0.009349
> 43 -5.23126844: 0.330126
> 44 2.33293345: -0.147223
> 45 3.01784046: -0.190445
> 46 -5.00416947: 0.315795
> 47 0.17591748: -0.011101
Eigenvectors are not unique. If you normalize your "exact" solution you will see that it coincides with SLEPc's answer. If you don't know what an eigenvector is, you will have a hard time using SLEPc.
Jose
More information about the petsc-users
mailing list