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

Eingenvalue solver dfeast_syev does not find values (info=1)

Moukharski__Iouri
340 Views

I am trying to use dfeast_syev to find eigenvectors of 4x4 matrix. I used FEAST, since I'be found that other methods give incorrect values. I call the routine with the following

    dfeast_syev(&uplo, &N, MM, &lda, fpm, epsout, &loop, &emin, &emax, N, (**EVal)->elm, (**EVec)-> elm, (MKL_INT*)&m0, (**res)->elm, &info);

N=4

lda=4

uplo='F'

emin=0.1

emax=10

m0=4

fpm - default

MM
        [0]    1.0000000000000000    double
        [1]    0.00000000000000000    double
        [2]    0.00000000000000000    double
        [3]    0.00000000000000000    double
        [4]    0.0000000000000000    double
        [5]    1.00000000000000000    double
        [6]    0.00000000000000000    double
        [7]    0.00000000000000000    double
        [8]    0.0000000000000000    double
        [9]    0.00000000000000000    double
        [10]    1.00000000000000000    double
        [11]    0.00000000000000000    double
        [12]    0.0000000000000000    double
        [13]    0.00000000000000000    double
        [14]    0.00000000000000000    double
        [15]    1.00000000000000000    double

The results is info=1, m0=0, loop=0.Meanwhile, this is what I think is correct usage. And the answer should be 4 degenerate eigenvalues equal to 1. 

If I change lda to 5 and add 4 zeros to the matrix, so it becomes 5x4, the routine finds 1 correct eigenvalue. 

What is going on? Why do I have to change lda to 5?

 

0 Kudos
2 Replies
Gennady_F_Intel
Moderator
340 Views

could you set MKL-VERBOSE=1 and share the output?

0 Kudos
Moukharski__Iouri
340 Views

Sorry, I can not get any out from mkl_verbose. I am compiling dll and run it with another application (Labview). When I redirect stdout of that application to a file, I get output when setting fmp[0]=1, but nothing from verbose mode. 

 

Output I get wwhen setting fpm[0]=1 is the following. With what I consider to be standard parameters (N=4, lda=4)

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
Search interval [1.000000000000000e-01;1.000000000000000e+01]
Intel MKL Extended Eigensolvers: Size subspace 4
#Loop | #Eig  |    Trace     | Error-Trace |  Max-Residual
Intel MKL Extended Eigensolvers WARNING: No eigenvalue has been found in the proposed search interval.
==>INFO code =: 1
Intel MKL Extended Eigensolvers WARNING: No eigenvalue has been found in the proposed search interval.
==>INFO code =: 1

When I change lda to 5 and add zeros to the matrix: 

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
Search interval [1.000000000000000e-01;1.000000000000000e+01]
Intel MKL Extended Eigensolvers: Size subspace 4
#Loop | #Eig  |    Trace     | Error-Trace |  Max-Residual
0,1,1.205714315028617e-01,1.000000000000000e+00,1.205714315028617e-01
1,1,2.597003607725650e-01,1.391289292697033e-02,2.597003607725649e-01
2,1,1.836075733309683e-01,7.609278744159664e-03,1.836075733309683e-01
3,1,1.945046204954223e-01,1.089704716445394e-03,1.945046204954223e-01
4,1,2.624171970909035e-01,6.791257659548122e-03,2.624171970909034e-01
5,1,4.047768634565657e-01,1.423596663656622e-02,4.047768634565658e-01
6,1,3.123966598764627e-01,9.238020358010302e-03,3.123966598764628e-01
7,1,2.191227694575905e-01,9.327389041887225e-03,2.191227694575904e-01
8,1,1.057775122474928e-01,1.133452572100977e-02,1.057775122474928e-01
9,1,1.047024835849886e-01,1.075028662504196e-04,1.047024835849886e-01
10,1,1.029999993584887e+00,9.252975099998983e-02,1.029999993584887e+00
11,1,9.977593354245003e-01,3.224065816038657e-03,9.977593354245003e-01
12,1,9.978729850739334e-01,1.136496494330563e-05,9.978729850739334e-01
13,1,9.978950935925888e-01,2.210851865536156e-06,9.978950935925888e-01
14,1,9.978983137227591e-01,3.220130170289437e-07,9.978983137227591e-01
15,1,9.978987874192334e-01,4.736964743790040e-08,9.978987874192334e-01
16,1,9.978988572051700e-01,6.978593658502064e-09,9.978988572051700e-01
17,1,9.978988674884188e-01,1.028324880802955e-09,9.978988674884188e-01
18,1,9.978988690037549e-01,1.515336078838914e-10,9.978988690037549e-01
19,1,9.978988692270435e-01,2.232886098241238e-11,9.978988692270435e-01
20,1,9.978988692599503e-01,3.290678840528471e-12,9.978988692599503e-01
Intel MKL Extended Eigensolvers have successfully converged (to desired tolerance).
Intel MKL Extended Eigensolvers have successfully converged (to desired tolerance).
 

0 Kudos
Reply