<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Eigenvalue problem which gives incorrect eigenvalues and ei in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Eigenvalue-problem-which-gives-incorrect-eigenvalues-and/m-p/876531#M8996</link>
    <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Troels,&lt;BR /&gt;&lt;BR /&gt;when computing this sort of ratio for 5th and 6theigenpairyou're dividing the numbers close to zero by each other in 1st and 4th components - this is unstable and not reliable - I even get Inf on my machine with this division.The normal way tounsure the correctness is to check 2 kinds of ratios:&lt;BR /&gt;1) eigenproblem equation: || H*v -E*S*v || should be 0 within error boundaries for every eigenpair&lt;BR /&gt;2) orthogonality of the eigenvectors: || V*S*V' - I ||should be 0 within error boundaries.&lt;BR /&gt;&lt;BR /&gt;Michael.</description>
    <pubDate>Thu, 26 Nov 2009 12:33:16 GMT</pubDate>
    <dc:creator>Michael_C_Intel4</dc:creator>
    <dc:date>2009-11-26T12:33:16Z</dc:date>
    <item>
      <title>Eigenvalue problem which gives incorrect eigenvalues and eigenvectors</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Eigenvalue-problem-which-gives-incorrect-eigenvalues-and/m-p/876530#M8995</link>
      <description>Hey,&lt;BR /&gt;&lt;BR /&gt;I am having a pretty strange problem. I am using an DSYGV to solve get the eigenvalues E of of the generalized eigenvalue problem H*v=E*S*v. Letting H be&lt;BR /&gt;&lt;BR /&gt;H = [  -5.01054  -2.35237  -2.35237  -4.02725  -2.18694  -2.18694&lt;BR /&gt; -2.35237   9.67769   -0.8082  -2.18694   5.56261  -4.30757&lt;BR /&gt; -2.35237   -0.8082   9.67769  -2.18694  -4.30757   5.56261&lt;BR /&gt; -4.02725  -2.18694  -2.18694   19.3205   12.5389   12.5389&lt;BR /&gt; -2.18694   5.56261  -4.30757   12.5389   15.5401   7.40994&lt;BR /&gt; -2.18694  -4.30757   5.56261   12.5389   7.40994   15.5401];&lt;BR /&gt;&lt;BR /&gt;and S as&lt;BR /&gt;&lt;BR /&gt;S = [&lt;BR /&gt; 0.9069 0.57735 0.57735 0.57735 0.367553 0.367553&lt;BR /&gt; 0.57735 0.45345 0.367553 0.367553 0.288675 0.216506&lt;BR /&gt; 0.57735 0.367553 0.45345 0.367553 0.216506 0.288675&lt;BR /&gt; 0.57735 0.367553 0.367553 0.45345 0.288675 0.288675&lt;BR /&gt; 0.367553 0.288675 0.216506 0.288675 0.226725 0.163357&lt;BR /&gt; 0.367553 0.216506 0.288675 0.288675 0.163357 0.226725];&lt;BR /&gt;&lt;BR /&gt;I get the eigenvalues:&lt;BR /&gt;&lt;BR /&gt; 878.5320,    -5.6977,   261.0238,   122.8077,  -394.6588,   131.3400.&lt;BR /&gt;&lt;BR /&gt;This result is reproducable with Matlab, Octave and Intel Lapack Routines. Thus, it should be expected to be correct. Howvever, examining the problem more closely we see&lt;BR /&gt;&lt;BR /&gt;chol(S) =&lt;BR /&gt;&lt;BR /&gt; 0.95231   0.60626   0.60626   0.60626   0.38596   0.38596&lt;BR /&gt; 0.00000   0.29308   0.00000   0.00000   0.18658  -0.05966&lt;BR /&gt; 0.00000   0.00000   0.29308   0.00000  -0.05966   0.18658&lt;BR /&gt; 0.00000   0.00000   0.00000   0.29308   0.18658   0.18658&lt;BR /&gt; 0.00000   0.00000   0.00000   0.00000   0.06766   0.02726&lt;BR /&gt; 0.00000   0.00000   0.00000   0.00000   0.00000   0.06192&lt;BR /&gt;&lt;BR /&gt;and&lt;BR /&gt;&lt;BR /&gt;A = inv(chol(S)')*H*inv(chol(S)) =&lt;BR /&gt;&lt;BR /&gt; -5.52491     3.00041     3.00038    -3.00050     0.22102     0.14418&lt;BR /&gt; 3.00041   123.89277     1.81760    -1.82022    -1.41899   -59.34131&lt;BR /&gt; 3.00038     1.81760   123.89274    -1.82020   -54.88206    22.61392&lt;BR /&gt; -3.00050    -1.82022    -1.82020   260.97810     3.38291     2.20684&lt;BR /&gt; 0.22102    -1.41899   -54.88206     3.38291   499.09770   576.99797&lt;BR /&gt; 0.14418   -59.34131    22.61392     2.20684   576.99797    -8.98945&lt;BR /&gt;&lt;BR /&gt;which is just the Cholesky factorisation. Now the eigenvalues of A*u=Eu is still&lt;BR /&gt;&lt;BR /&gt;878.5320, -5.6977, 261.0238, 122.8077, -394.6588, 131.3400&lt;BR /&gt;&lt;BR /&gt;as they are suppose to (thus the factorisation were done correct), but we can no see that the eigenvectors are incorrect as&lt;BR /&gt;&lt;BR /&gt;[V,E] = eig(A)&lt;BR /&gt;&lt;BR /&gt;gives&lt;BR /&gt;&lt;BR /&gt;V =&lt;BR /&gt; 2.7700e-05   9.9940e-01   1.1527e-02   3.2697e-02   1.1019e-17   5.2984e-17&lt;BR /&gt; 4.4573e-02  -2.3209e-02   1.1754e-02   7.0522e-01  -9.3845e-02   7.0085e-01&lt;BR /&gt; 4.4573e-02  -2.3209e-02   1.1754e-02   7.0522e-01   9.3846e-02  -7.0086e-01&lt;BR /&gt; -6.7902e-03   1.0960e-02  -9.9976e-01   1.7453e-02  -5.0707e-17  -2.7167e-16&lt;BR /&gt; -8.3586e-01  -1.7756e-03   6.5768e-03   5.2662e-02   5.4154e-01   7.2513e-02&lt;BR /&gt; -5.4527e-01  -1.1583e-03   4.2904e-03   3.4354e-02  -8.3013e-01  -1.1116e-01&lt;BR /&gt;&lt;BR /&gt;E =&lt;BR /&gt; 878.53198     0.00000     0.00000     0.00000     0.00000     0.00000&lt;BR /&gt; 0.00000    -5.69773     0.00000     0.00000     0.00000     0.00000&lt;BR /&gt; 0.00000     0.00000   261.02377     0.00000     0.00000     0.00000&lt;BR /&gt; 0.00000     0.00000     0.00000   122.80774     0.00000     0.00000&lt;BR /&gt; 0.00000     0.00000     0.00000     0.00000  -394.65885     0.00000&lt;BR /&gt; 0.00000     0.00000     0.00000     0.00000     0.00000   131.34004&lt;BR /&gt;&lt;BR /&gt;and by checking one by one we see&lt;BR /&gt;&lt;BR /&gt;(A*V(:,1))./V(:,1) )' = &lt;BR /&gt; 878.53   878.53   878.53   878.53   878.53   878.53&lt;BR /&gt;&lt;BR /&gt;(A*V(:,2))./V(:,2) )' =&lt;BR /&gt; -5.6977  -5.6977  -5.6977  -5.6977  -5.6977  -5.6977&lt;BR /&gt;&lt;BR /&gt;(A*V(:,3))./V(:,3) )'=&lt;BR /&gt; 261.02   261.02   261.02   261.02   261.02   261.02&lt;BR /&gt;&lt;BR /&gt;(A*V(:,4))./V(:,4) )'=&lt;BR /&gt; 122.81   122.81   122.81   122.81   122.81   122.81&lt;BR /&gt;&lt;BR /&gt;(A*V(:,5))./V(:,5) )'=&lt;BR /&gt; -396.44  -394.66  -394.66  -287.12  -394.66  -394.66&lt;BR /&gt;&lt;BR /&gt;(A*V(:,6))./V(:,6) )'=&lt;BR /&gt; 130.28   131.34   131.34   264.02   131.34   131.34&lt;BR /&gt;&lt;BR /&gt;While the first 4 eigenvalues and eigenvectors are correct, the last two are obviously not relaiable. As mentioned in the top this results is reproducable with Matlab, Octave as well as the Lapack libraries. My question is:&lt;BR /&gt; &lt;BR /&gt;- Has anyone a solutions such I only would get reliable eigenvalues without having to check the reliability?&lt;BR /&gt; - What is the reason for this unstability? My guess is that the S matrix is close to being not positive definite, but that is just a guess with no argument!&lt;BR /&gt;&lt;BR /&gt;Any suggestions that might enligthen me would be greatly appreciated.&lt;BR /&gt;&lt;BR /&gt;Best,&lt;BR /&gt;Troels&lt;BR /&gt;</description>
      <pubDate>Thu, 26 Nov 2009 10:48:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Eigenvalue-problem-which-gives-incorrect-eigenvalues-and/m-p/876530#M8995</guid>
      <dc:creator>troels_roennow</dc:creator>
      <dc:date>2009-11-26T10:48:51Z</dc:date>
    </item>
    <item>
      <title>Re: Eigenvalue problem which gives incorrect eigenvalues and ei</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Eigenvalue-problem-which-gives-incorrect-eigenvalues-and/m-p/876531#M8996</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Troels,&lt;BR /&gt;&lt;BR /&gt;when computing this sort of ratio for 5th and 6theigenpairyou're dividing the numbers close to zero by each other in 1st and 4th components - this is unstable and not reliable - I even get Inf on my machine with this division.The normal way tounsure the correctness is to check 2 kinds of ratios:&lt;BR /&gt;1) eigenproblem equation: || H*v -E*S*v || should be 0 within error boundaries for every eigenpair&lt;BR /&gt;2) orthogonality of the eigenvectors: || V*S*V' - I ||should be 0 within error boundaries.&lt;BR /&gt;&lt;BR /&gt;Michael.</description>
      <pubDate>Thu, 26 Nov 2009 12:33:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Eigenvalue-problem-which-gives-incorrect-eigenvalues-and/m-p/876531#M8996</guid>
      <dc:creator>Michael_C_Intel4</dc:creator>
      <dc:date>2009-11-26T12:33:16Z</dc:date>
    </item>
    <item>
      <title>Re: Eigenvalue problem which gives incorrect eigenvalues and ei</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Eigenvalue-problem-which-gives-incorrect-eigenvalues-and/m-p/876532#M8997</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/337852"&gt;Michael Chuvelev (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; &lt;BR /&gt;Troels,&lt;BR /&gt;&lt;BR /&gt;when computing this sort of ratio for 5th and 6theigenpairyou're dividing the numbers close to zero by each other in 1st and 4th components - this is unstable and not reliable - I even get Inf on my machine with this division.The normal way tounsure the correctness is to check 2 kinds of ratios:&lt;BR /&gt;1) eigenproblem equation: || H*v -E*S*v || should be 0 within error boundaries for every eigenpair&lt;BR /&gt;2) orthogonality of the eigenvectors: || V*S*V' - I ||should be 0 within error boundaries.&lt;BR /&gt;&lt;BR /&gt;Michael.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Agghhr... yeah. You are completely right. I should have seen that myself!!&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;</description>
      <pubDate>Thu, 26 Nov 2009 13:21:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Eigenvalue-problem-which-gives-incorrect-eigenvalues-and/m-p/876532#M8997</guid>
      <dc:creator>troels_roennow</dc:creator>
      <dc:date>2009-11-26T13:21:16Z</dc:date>
    </item>
  </channel>
</rss>

