[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