<?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 Hello, in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077177#M22618</link>
    <description>&lt;P&gt;Hello,&lt;BR /&gt;
	&lt;BR /&gt;
	The input matrix in the example is very ill-conditioned. This means it hardly could lead to an accurate result, and round-offs cause big fluctuation of the output.&lt;BR /&gt;
	&lt;BR /&gt;
	As I see the best option here is to improve the condition number of the input matrix.&lt;BR /&gt;
	However you also could try dgesvxx with FACT=E. This way the function does normalization and equlibration of input data, which could improve accuracy for ill-conditioned matrices. Please provide &lt;SPAN style="font-size: 13.008px; line-height: 19.512px;"&gt;and identity matrix NxN in B, and&lt;/SPAN&gt;&amp;nbsp;on output B will contain inverse of matrix A. Or the function will return a warning in INFO (see documentation) if the matrix is too ill-conditioned.&lt;BR /&gt;
	&lt;BR /&gt;
	Best regards,&lt;BR /&gt;
	Alexander&lt;/P&gt;</description>
    <pubDate>Tue, 19 Apr 2016 10:47:03 GMT</pubDate>
    <dc:creator>Alexander_K_Intel3</dc:creator>
    <dc:date>2016-04-19T10:47:03Z</dc:date>
    <item>
      <title>problem about LAPACKE_dgetrf and LAPACKE_dgetri</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077174#M22615</link>
      <description>&lt;P&gt;Please see attachment&amp;nbsp; b.c.&lt;/P&gt;

&lt;P&gt;if I comment out from&lt;EM&gt; &lt;/EM&gt;&lt;S&gt;&lt;EM&gt;//hmli begin&lt;/EM&gt;&lt;/S&gt; to&amp;nbsp; &lt;S&gt;&lt;EM&gt;//hmli end&lt;/EM&gt;&lt;/S&gt; in the follow code of b.c, it works wrong, but if I do not comment out and use sprintf and atof to convert from double to string, then convert back to double, it work well.&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;for (k = 0; k &amp;lt; 64; k++)a&lt;J&gt;&lt;I&gt; +=(double) A1&lt;J&gt;&lt;K&gt; * A1&lt;I&gt;&lt;K&gt;;
//hmli begin
sprintf(t,"%lf",a&lt;J&gt;&lt;I&gt;);
a&lt;J&gt;&lt;I&gt;=atof(t);
//hmli end
a&lt;I&gt;&lt;J&gt; = (double)a&lt;J&gt;&lt;I&gt;;&lt;/I&gt;&lt;/J&gt;&lt;/J&gt;&lt;/I&gt;&lt;/I&gt;&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/K&gt;&lt;/I&gt;&lt;/K&gt;&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/PRE&gt;

&lt;P&gt;Is it just because of the precision?&lt;/P&gt;

&lt;P&gt;Can you help me? Thank you very much.&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;b.c: source code&lt;/LI&gt;
	&lt;LI&gt;body.log : input data file&lt;/LI&gt;
	&lt;LI&gt;ainv.log: result of matrix inversion.&lt;/LI&gt;
	&lt;LI&gt;compiling :icc -mkl b.c&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Apr 2016 13:05:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077174#M22615</guid>
      <dc:creator>HM_Li</dc:creator>
      <dc:date>2016-04-06T13:05:24Z</dc:date>
    </item>
    <item>
      <title>You are methodically</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077175#M22616</link>
      <description>&lt;P&gt;You are methodically destroying the precision of the input matrix. Take the (1,1) element of A, for example. It has the value&amp;nbsp;5.2734375...e-002. After your strange manipulation, the 15+ digit precision of A&lt;SUB&gt;1,1&lt;/SUB&gt;&amp;nbsp; has been degraded to just five significant digits, i.e, it is now 5.2734000e-002. What is the purpose of writing a limited number of digits and reading the truncated number back in?&lt;/P&gt;</description>
      <pubDate>Thu, 07 Apr 2016 21:30:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077175#M22616</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-04-07T21:30:42Z</dc:date>
    </item>
    <item>
      <title>Thank you.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077176#M22617</link>
      <description>&lt;DIV class="field field-name-comment-body field-type-text-long field-label-hidden"&gt;
	&lt;DIV class="field-items"&gt;
		&lt;DIV class="field-item even"&gt;
			&lt;P&gt;Thank you.&lt;/P&gt;

			&lt;P&gt;The reason is: if the double float data not truncated, LAPACKE_dgetrf and LAPACKE_dgetri can't give the right result, so I want to know why and how to use LAPACKE_dgetrf and LAPACKE_dgetri right.&lt;/P&gt;
		&lt;/DIV&gt;
	&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Sun, 10 Apr 2016 07:10:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077176#M22617</guid>
      <dc:creator>HM_Li</dc:creator>
      <dc:date>2016-04-10T07:10:42Z</dc:date>
    </item>
    <item>
      <title>Hello,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077177#M22618</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;
	&lt;BR /&gt;
	The input matrix in the example is very ill-conditioned. This means it hardly could lead to an accurate result, and round-offs cause big fluctuation of the output.&lt;BR /&gt;
	&lt;BR /&gt;
	As I see the best option here is to improve the condition number of the input matrix.&lt;BR /&gt;
	However you also could try dgesvxx with FACT=E. This way the function does normalization and equlibration of input data, which could improve accuracy for ill-conditioned matrices. Please provide &lt;SPAN style="font-size: 13.008px; line-height: 19.512px;"&gt;and identity matrix NxN in B, and&lt;/SPAN&gt;&amp;nbsp;on output B will contain inverse of matrix A. Or the function will return a warning in INFO (see documentation) if the matrix is too ill-conditioned.&lt;BR /&gt;
	&lt;BR /&gt;
	Best regards,&lt;BR /&gt;
	Alexander&lt;/P&gt;</description>
      <pubDate>Tue, 19 Apr 2016 10:47:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077177#M22618</guid>
      <dc:creator>Alexander_K_Intel3</dc:creator>
      <dc:date>2016-04-19T10:47:03Z</dc:date>
    </item>
    <item>
      <title>Thank you very much. I see.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077178#M22619</link>
      <description>&lt;P&gt;Thank you very much. I see.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Apr 2016 12:04:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-about-LAPACKE-dgetrf-and-LAPACKE-dgetri/m-p/1077178#M22619</guid>
      <dc:creator>HM_Li</dc:creator>
      <dc:date>2016-04-19T12:04:02Z</dc:date>
    </item>
  </channel>
</rss>

