Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

feast max-residual does not decrease

Anderegg__Martin
Beginner
266 Views

Hello,

I've observed a strange behavior with the feast algorithm for the generalized eigenvalue problem. When calling the dfeast_scsrgv function (2019.5.281 for Windows), the process of refinement doesn't seem to increase convergence. Here is an extract of the console output : 

Intel MKL Extended Eigensolvers: double precision driver
Intel MKL Extended Eigensolvers: List of input parameters fpm(1:64)-- if different from default
Intel MKL Extended Eigensolvers: fpm(1)=1
Intel MKL Extended Eigensolvers: fpm(3)=13
Search interval [0.000000000000000e+00;1.233823920191183e+04]
Intel MKL Extended Eigensolvers: Size subspace 181
#Loop | #Eig  |    Trace     | Error-Trace |  Max-Residual
Intel MKL Extended Eigensolvers: Resize subspace 172
0,110,5.663706373860352e+05,1.000000000000000e+00,1.490862471060101e+00
Intel MKL Extended Eigensolvers: Resize subspace 159
1,109,5.593806163510049e+05,5.665331106522180e-01,6.012806440118748e-11
2,109,5.593806163510234e+05,1.500216997544874e-12,2.104345640080324e-12
3,109,5.593806163510176e+05,4.717663514292057e-13,2.397189370464081e-12
4,109,5.593806163510182e+05,4.717663514292057e-14,2.411177358610362e-12
5,109,5.593806163509969e+05,1.726664846230893e-12,2.328835176790949e-12
6,109,5.593806163510114e+05,1.179415878573014e-12,2.524976500464305e-12
7,109,5.593806163510105e+05,7.548261622867291e-14,2.428905555332923e-12
8,109,5.593806163509984e+05,9.812740109727479e-13,2.286805079042987e-12
9,109,5.593806163510138e+05,1.245463167773103e-12,2.406761270890775e-12
10,109,5.593806163510316e+05,1.443605035373369e-12,2.361847027304253e-12
11,109,5.593806163510248e+05,5.472489676578786e-13,1.911120870967018e-12
12,109,5.593806163510073e+05,1.424734381316201e-12,2.362358223946872e-12
13,109,5.593806163510157e+05,6.887788730866403e-13,2.098377232081009e-12
14,109,5.593806163509990e+05,1.358687092116112e-12,2.354940403574139e-12
15,109,5.593806163510053e+05,5.095076595435422e-13,2.130778830695237e-12
16,109,5.593806163510152e+05,8.020027974296497e-13,2.378453239753553e-12
17,109,5.593806163510276e+05,1.009579992058500e-12,2.479238742295124e-12
18,109,5.593806163510045e+05,1.877630078688239e-12,2.416088631528979e-12
19,109,5.593806163510167e+05,9.907093380013320e-13,2.507773079026495e-12
20,109,5.593806163509991e+05,1.424734381316201e-12,2.167436545143697e-12
Intel MKL Extended Eigensolvers have successfully converged (to desired tolerance).
Intel MKL Extended Eigensolvers have successfully converged (to desired tolerance).

We can observe that the Max-Residual values stops to decrease after the third loop. I would like to know if this behavior is the one that I should expect or if there might be something wrong with my call or with the matrices (I've checked the correctness of the matrices by setting fpm(27)=1 and fpm(28)=1). Based on the documentation, I thought that

1) each refinement loop would increase the precision. 

2) the algorithm would give a feedback to warn me that the algorithm didn't converge to the expected values info=2 (https://software.intel.com/en-us/mkl-developer-reference-fortran-extended-eigensolver-output-details#GUID-E1DB444D-B362-4DBF-A1DF-DA68F7FB7019)

I've observed the same behavior of non-increasing precision and no feedback with different pairs of matrices (although there are all coming from the same domain). I tried to increase the number of contour points to the maximum and change the value of m0, but with no success. 

Please let me know if you need more information.

Regards

Martin

0 Kudos
0 Replies
Reply