> El 14 sept 2017, a las 0:27, Pandey, Siddhant <spand...@wpi.edu> escribió:
> 
> Hello all,
> 
> I am diagonalizing a hermitian matrix (MatIsHermitian = 1 up to a tolerance 
> of 1e-15) using krylovschur, with EPS_TARGET_MAGNITUDE = 0, but getting 
> complex eigenvalues. Also, I am getting seemingly spurious eigenvalues of 
> magnitude very close to 0, whose relative errors are much larger than my set 
> tolerance. Can anyone indicate what might be the cause and possible solutions.
> 
> I have attached the files eps_view, A_mat_binary, and B_mat_binary files, 
> which show the settings I have used, and contain the A and B matrices 
> respectively (in binary).
> 
> The eigenvalues I get are:
> 
>   #     
>          
>      Eigenvalue
>  —       ----------------------------------------------------------------
>   0         0.0000000000000077  + i -0.0000000000000000
>   1         0.0000000000000265  + i -0.0000000000000008
>   2         0.0000000000000340  + i 0.0000000000000002
>   3         0.0000000000000373  + i 0.0000000000000001
>   4         0.0000000000000444  + i -0.0000000000000007
>   5         0.0000000000000448  + i -0.0000000000000017
>   6         0.0000000000000470  + i 0.0000000000000002
>   7         0.0000000000000489  + i 0.0000000000000030
>   8         0.0000000000000548  + i 0.0000000000000006
>   9         0.0000000000000585  + i 0.0000000000000001
>   10       0.0000000000000643  + i 0.0000000000000005
>   11       0.0000000000000714  + i -0.0000000000000008
>   12       0.0000000000000750  + i -0.0000000000000019
>   13       0.0000000000000752  + i 0.0000000000000031
>   14       0.0000000000000769  + i -0.0000000000000002
>   15       0.0000000000000784  + i -0.0000000000000037
>   16       0.0000000000000860  + i 0.0000000000000002
>   17       0.0000000000000880  + i -0.0000000000000004
>   18       0.0000000000000968  + i -0.0000000000000001
>   19       0.0000000000000979  + i 0.0000000000000013
>   20       0.0000000000001045  + i -0.0000000000000001
>   21       0.0000000000001150  + i -0.0000000000000011
>   22       0.0000000000001348  + i -0.0000000000000012
>   23       0.0000000000001446  + i -0.0000000000000019
>   24       0.0000000000001454  + i 0.0000000000000011
>   25       0.0000000000001555  + i 0.0000000000000003
>   26       0.0000000000002513  + i -0.0000000000000009
>   27       5.0908854514230413  + i -0.0022004178122762
>   28       5.2768106039842175  + i 0.1043464906789375
>   29       5.3003883062604187  + i -0.0757735907905433
>   30       11.5143655883932929 + i 0.0049838692042474
>   31       11.8821523259838653 + i -0.1475608751440501
>   32       11.9515216995487101 + i 0.1857395729336506
>   33       12.0909362158339384 + i 0.0049114285397287
>   34       12.0905704159492675 + i -0.1522880348537981
>   35       12.2205398661469111 + i -0.0781999802933937
>   36       12.4807156964720480 + i -0.2850122604907908
>   37       12.6082849940660289 + i 0.0560456679728079
>   38       12.9384278480576125 + i 0.0238826907631012
>   39       17.5230234731441357 + i -0.1824807274488794
>   40       17.5503678395543901 + i 0.1785356473404145
>   41       17.6933953160112409 + i -0.0626631055149425
>   42       19.1692824404480930 + i -0.6351729266691462
>   43       19.4158452684509797 + i 0.3151965488807310
>   44       19.6020750507704591 + i -0.2559887580276014
>   45       19.6443102906562181 + i 1.1005601705485646
>   46       19.7948713379697452 + i 0.1230015140422697
>   47       19.8791098474284347 + i -0.1943322911563744
>   48       20.1268732265661860 + i -0.0340890856219265
>   49       20.1368588182453898 + i 0.2673370459460956
> 
> 
> Thanks in advance,
> Sidd
> Worcester Polytechnic, U.S.A.
> <A_mat_binary><B_mat_binary><eps_view_pre.txt>

Your B matrix has full rank, but rank(A)=1002. This means your eigenproblem has 
27 zero eigenvalues. So no wonder that you get tiny eigenvalues (they are 
numerically zero in the working precision).

Since you problem is Hermitian, you should solve it as such, adding 
-eps_gen_hermitian. Then the accuracy will be a bit better. Still, the relative 
error for the tiny eigenvalues will be large (division by zero), but you can 
see that the *absolute* error shows that the eigenvector is computed correctly. 
See output below.

Another thing is that since your A matrix is singular, you should not use 
target=0, because then the solver will invert matrix A. MUMPS is good at 
working with singular matrices, but still the error will propagate to the 
computed eigensolutions. You have to move away from zero, e.g. target=0.1

Finally, do not set ncv=1029. By doing this, the built subspace is equal to the 
whole space of the original problem, so the cost will be even higher than 
calling LAPACK directly on your matrices. Let SLEPc choose the ncv value.

Jose


$ ./ex7 -f1 ~/tmp/pandey/A_mat_binary -f2 ~/tmp/pandey/B_mat_binary 
-st_pc_factor_mat_solver_package mumps -st_type sinvert -eps_target 0.1 
-eps_nev 50 -eps_error_absolute ::ascii_info_detail

Generalized eigenproblem stored in file.

 Reading COMPLEX matrices from binary files...
 ---------------------- --------------------
            k                ||Ax-kBx||
 ---------------------- --------------------
   0.000000+0.000000i       7.65812e-12
   0.000000-0.000000i       2.78585e-12
   0.000000-0.000000i       6.30965e-12
   0.000000+0.000000i       1.90477e-12
   0.000000-0.000000i       4.18541e-12
   0.000000+0.000000i       2.90717e-12
   0.000000+0.000000i       2.90732e-12
   0.000000-0.000000i       6.69097e-12
   0.000000+0.000000i       2.01707e-12
   0.000000-0.000000i        6.2849e-12
   0.000000-0.000000i       6.30369e-12
   0.000000-0.000000i       6.79209e-12
   0.000000+0.000000i        3.3761e-12
   0.000000-0.000000i       6.19772e-12
   0.000000+0.000000i       3.87231e-12
   0.000000-0.000000i       2.75338e-12
   0.000000+0.000000i       9.50872e-12
   0.000000-0.000000i       4.59981e-12
   0.000000-0.000000i       7.62071e-13
   0.000000-0.000000i       7.24146e-12
   0.000000+0.000000i       2.98146e-12
   0.000000-0.000000i       1.49165e-12
   0.000000-0.000000i       1.33641e-12
   0.000000-0.000000i       3.02551e-12
   0.000000-0.000000i       1.76448e-12
   0.000000+0.000000i       2.03659e-12
   0.000000-0.000000i       5.71796e-12
   5.238680+0.000000i       3.67926e-11
   5.238680+0.000000i       3.85213e-11
   5.238680+0.000000i        3.3809e-11
   12.047661+0.000000i       3.74891e-11
   12.047661+0.000000i       3.36437e-11
   12.047661+0.000000i       4.68278e-11
   12.079279+0.000000i       4.27835e-11
   12.079279+0.000000i       7.02149e-11
   12.079279-0.000000i       1.14514e-10
   12.954275+0.000000i       1.13398e-10
   12.954275-0.000000i        1.0298e-10
   12.955799-0.000000i        6.2543e-11
   17.515033+0.000000i       1.25423e-10
   17.515033-0.000000i       6.11696e-11
   17.647490+0.000000i       2.56307e-10
   19.770424-0.000000i       1.43313e-07
   19.770424-0.000000i        4.1167e-11
   19.770424-0.000000i       7.67294e-11
   19.770424-0.000000i       5.92692e-11
   19.770424+0.000000i       7.66231e-11
   19.770424+0.000000i       9.85743e-11
   20.199838+0.000000i       8.37107e-11
   20.199838+0.000000i       3.56701e-11
   20.199838-0.000000i       8.82029e-11
   20.199838-0.000000i       8.52395e-11
   20.199838-0.000000i       8.82165e-11
   20.199838-0.000000i       4.32813e-07
   24.112262+0.000000i       2.25578e-10
   24.112262-0.000000i       1.27094e-10
   24.112262+0.000000i       1.14679e-10
   24.227579-0.000000i       9.77701e-11
   24.227579+0.000000i       1.41993e-10
   24.227579-0.000000i       1.84562e-10
   29.035473-0.000000i       2.69505e-10
   29.035473-0.000000i       1.72167e-10
   29.035473-0.000000i       1.87434e-10
   29.649484-0.000000i       2.44039e-10
   29.649484-0.000000i       3.84759e-10
   32.112699+0.000000i       1.35182e-10
   32.112699+0.000000i       1.91162e-10
   32.112699-0.000000i       3.58118e-10
   32.115257+0.000000i       3.58743e-10
   32.115257-0.000000i       3.46267e-10
   32.115257+0.000000i       4.55903e-10
   50.121754+0.000000i       6.04554e-10
   50.121754-0.000000i       6.26139e-10
 ---------------------- --------------------
 Number of iterations of the method: 3
 Number of linear iterations of the method: 168
 Solution method: krylovschur

 Number of requested eigenvalues: 50
 Stopping condition: tol=1e-08, maxit=100
 Linear eigensolve converged (73 eigenpairs) due to CONVERGED_TOL; iterations 3
 ---------------------- --------------------
            k             ||Ax-kBx||/||kx||
 ---------------------- --------------------
   0.000000+0.000000i           31.3252
   0.000000-0.000000i           18.2211
   0.000000-0.000000i            44.631
   0.000000+0.000000i            13.836
   0.000000-0.000000i           30.8722
   0.000000+0.000000i           26.1132
   0.000000+0.000000i           28.6077
   0.000000-0.000000i           74.5526
   0.000000+0.000000i           23.1291
   0.000000-0.000000i           74.0475
   0.000000-0.000000i           74.7671
   0.000000-0.000000i            90.664
   0.000000+0.000000i           45.6476
   0.000000-0.000000i           84.4024
   0.000000+0.000000i           55.9734
   0.000000-0.000000i           42.2662
   0.000000+0.000000i           155.367
   0.000000-0.000000i            82.083
   0.000000-0.000000i            14.409
   0.000000-0.000000i           163.883
   0.000000+0.000000i           70.2693
   0.000000-0.000000i           38.2544
   0.000000-0.000000i           35.2561
   0.000000-0.000000i           87.8327
   0.000000-0.000000i           73.0972
   0.000000+0.000000i           102.899
   0.000000-0.000000i           841.374
   5.238680+0.000000i       7.02326e-12
   5.238680+0.000000i       7.35325e-12
   5.238680+0.000000i       6.45373e-12
   12.047661+0.000000i       3.11174e-12
   12.047661+0.000000i       2.79255e-12
   12.047661+0.000000i       3.88688e-12
   12.079279+0.000000i       3.54189e-12
   12.079279+0.000000i       5.81284e-12
   12.079279-0.000000i       9.48017e-12
   12.954275+0.000000i       8.75372e-12
   12.954275-0.000000i       7.94948e-12
   12.955799-0.000000i       4.82741e-12
   17.515033+0.000000i       7.16088e-12
   17.515033-0.000000i       3.49241e-12
   17.647490+0.000000i       1.45237e-11
   19.770424-0.000000i       7.24883e-09
   19.770424-0.000000i       2.08225e-12
   19.770424-0.000000i       3.88102e-12
   19.770424-0.000000i       2.99787e-12
   19.770424+0.000000i       3.87565e-12
   19.770424+0.000000i       4.98595e-12
   20.199838+0.000000i       4.14413e-12
   20.199838+0.000000i       1.76586e-12
   20.199838-0.000000i       4.36652e-12
   20.199838-0.000000i       4.21981e-12
   20.199838-0.000000i       4.36719e-12
   20.199838-0.000000i       2.14265e-08
   24.112262+0.000000i       9.35532e-12
   24.112262-0.000000i       5.27091e-12
   24.112262+0.000000i       4.75603e-12
   24.227579-0.000000i       4.03549e-12
   24.227579+0.000000i        5.8608e-12
   24.227579-0.000000i       7.61787e-12
   29.035473-0.000000i       9.28191e-12
   29.035473-0.000000i       5.92953e-12
   29.035473-0.000000i       6.45536e-12
   29.649484-0.000000i       8.23079e-12
   29.649484-0.000000i       1.29769e-11
   32.112699+0.000000i       4.20961e-12
   32.112699+0.000000i       5.95285e-12
   32.112699-0.000000i       1.11519e-11
   32.115257+0.000000i       1.11705e-11
   32.115257-0.000000i        1.0782e-11
   32.115257+0.000000i       1.41958e-11
   50.121754+0.000000i       1.20617e-11
   50.121754-0.000000i       1.24924e-11
 ---------------------- --------------------


Reply via email to