<?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: SVD Single Precision Problem in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1203366#M29937</link>
    <description>&lt;P&gt;Thanks for the report. It seems the problem has not been completely resolved. We will check the problem and keep the thread updated.&lt;/P&gt;
&lt;P&gt;Thanks,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Gennady&lt;/P&gt;</description>
    <pubDate>Mon, 24 Aug 2020 06:04:43 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2020-08-24T06:04:43Z</dc:date>
    <item>
      <title>SVD Single Precision Problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1203215#M29936</link>
      <description>&lt;P&gt;There may be a bug in the SVD routines starting with version 2020 update 1 (v19.1.1) and later.&lt;/P&gt;
&lt;P&gt;The problem (demonstrated in the attached code) is the reconstructed results are not correct for &lt;BR /&gt;single precision (real and complex) when using LWORK computed by the SVD routine.&lt;/P&gt;
&lt;P&gt;The attached archive contains results generated using Intel Fortran v19.0.5, v19.1.0, v19.1.1, v19.1.2 on a MacBook Pro (3.1 GHz Intel Core i7). The results from using v19.0.5 and v19.1.0 are valid, but&amp;nbsp;v19.1.1 and v19.1.2 generated similar inaccurate results.&lt;/P&gt;
&lt;P&gt;The included code is based another &lt;A href="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Double-Precision-SVDs-returns-incorrect-and-inconsistent-results/m-p/1167428" target="_self"&gt;message&lt;/A&gt; in this forum.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR /&gt;Nathan&lt;/P&gt;</description>
      <pubDate>Sun, 23 Aug 2020 15:15:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1203215#M29936</guid>
      <dc:creator>Nathan_Champagne</dc:creator>
      <dc:date>2020-08-23T15:15:36Z</dc:date>
    </item>
    <item>
      <title>Re: SVD Single Precision Problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1203366#M29937</link>
      <description>&lt;P&gt;Thanks for the report. It seems the problem has not been completely resolved. We will check the problem and keep the thread updated.&lt;/P&gt;
&lt;P&gt;Thanks,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Gennady&lt;/P&gt;</description>
      <pubDate>Mon, 24 Aug 2020 06:04:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1203366#M29937</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-08-24T06:04:43Z</dc:date>
    </item>
    <item>
      <title>Re: SVD Single Precision Problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1216120#M30140</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;the SVD decomposition is not unique (more precisely singular values are unique but singular vectors might vary). Since that it is not correct to use a bit-to-bit comparison between two sets of singular vectors for different code branches. Thus the difference between two sets of the singular vector should be expected. According to the LAPACK User's Guide, the following conditions must be used to check the correctness of the SVD decomposition.&lt;/P&gt;
&lt;P&gt;(1) | A - U S VT | / ( |A| max(M,N) ) =&amp;lt; const*ulp&lt;/P&gt;
&lt;P&gt;(2) | I - U' U | / ( M ) =&amp;lt;const*ulp&lt;/P&gt;
&lt;P&gt;(3) | I - VT' VT | / ( N ) =&amp;lt;const*ulp&lt;/P&gt;
&lt;P&gt;(4) s(1)&amp;gt;= s(2) &amp;gt;= … s(min(M,N)) &amp;gt;=0&lt;/P&gt;
&lt;P&gt;where ulp is the machine precision (it is about 1.e-8 for single precision), and const is a constant (300 is used in the Netlib Lapack unit tests).&lt;/P&gt;
&lt;P&gt;So We've incorporated the computation of | A - U S VT | / ( |A| max(M,N) ) in the original code (see attached file named svd_fail_sr_mod.f90) and if we compile and run it) we'll see that the both code branches produce correct results.:&lt;/P&gt;
&lt;P&gt;./a.out&lt;/P&gt;
&lt;P&gt;..&lt;/P&gt;
&lt;P&gt;tolerance 3.5762787E-05&lt;/P&gt;
&lt;P&gt;The infinity norm of initial matrix 0.8196368&lt;/P&gt;
&lt;P&gt;Infinity norm of the residual matrix in the 1st case 4.8623844E-13&lt;/P&gt;
&lt;P&gt;Test passed&lt;/P&gt;
&lt;P&gt;..&lt;/P&gt;
&lt;P&gt;Infinity norm of the residual matrix in the 2nd case 1.6821372E-05&lt;/P&gt;
&lt;P&gt;Test passed&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt; So the accuracy is in admissible range for both cases.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Oct 2020 03:46:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1216120#M30140</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-10-09T03:46:07Z</dc:date>
    </item>
    <item>
      <title>Re: SVD Single Precision Problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1216950#M30150</link>
      <description>&lt;P&gt;Thanks for checking into and following up on this issue.&lt;/P&gt;</description>
      <pubDate>Mon, 12 Oct 2020 20:16:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1216950#M30150</guid>
      <dc:creator>Nathan_Champagne</dc:creator>
      <dc:date>2020-10-12T20:16:45Z</dc:date>
    </item>
    <item>
      <title>Re:SVD Single Precision Problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1217033#M30151</link>
      <description>&lt;P&gt;This issue has been resolved and we will no longer respond to this thread.&amp;nbsp;If you require additional assistance from Intel, please start a new thread.&amp;nbsp;Any further interaction in this thread will be considered community only.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 13 Oct 2020 03:25:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SVD-Single-Precision-Problem/m-p/1217033#M30151</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-10-13T03:25:39Z</dc:date>
    </item>
  </channel>
</rss>

