<?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 The code posted by Schulzey in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933634#M13907</link>
    <description>&lt;P&gt;The code posted by Schulzey merits a couple of comments.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;First of all, the dpotrf routine is appropriate to use only if the matrix A is positive-definite -- it is necessary but not sufficient that A be symmetric. The particular matrix values do satisfy this requirement.&lt;/P&gt;

&lt;P&gt;Secondly, only the lower triangle of A is used if the first argument passed to the routine dpotrf is 'L'. What is contained in the upper triangular part, not including the main diagonal, is immaterial. Therefore, there is no need for the "make it symmetrical" part of the posted code. It would be more efficient to fill in only the lower triangle of A if the intent is to call dpotrf with 'L' as the first argument.&lt;/P&gt;</description>
    <pubDate>Tue, 10 Dec 2013 12:35:09 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2013-12-10T12:35:09Z</dc:date>
    <item>
      <title>Problem with MKL dpotrf function</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933631#M13904</link>
      <description>&lt;P&gt;Can anyone see why I am getting all zeroes back in &lt;A&gt; when calling the MKL dpotrf function below? Info comes back as 0 which indicates success, but A is just full of zeroes. What am I missing?&lt;BR /&gt;
	&lt;BR /&gt;
	I have set it up in Visual Studio 2010 as a 32-bit application as follows:&lt;BR /&gt;
	Fortran =&amp;gt; Libraries&amp;nbsp;=&amp;gt; Use Intel Math Kernel Library&amp;nbsp;= Sequential&lt;BR /&gt;
	Linker =&amp;gt; General =&amp;gt; Additional Library Directories =&amp;nbsp;C:\Program Files (x86)\Intel\Composer XE 2013 SP1.139\mkl\lib\ia32&lt;BR /&gt;
	Linker =&amp;gt; Input =&amp;gt; Additional Dependencies =&amp;nbsp;mkl_blas95.lib mkl_lapack95.lib mkl_intel_c.lib mkl_core.lib mkl_sequential.lib&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; SUBROUTINE MatrixTest&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; IMPLICIT NONE&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; INCLUDE 'mkl.fi'&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; INTEGER &amp;nbsp; &amp;nbsp;n&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; PARAMETER (n=4)&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; REAL*8 &amp;nbsp; &amp;nbsp; A(n,n)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; INTEGER &amp;nbsp; &amp;nbsp;info,i,j&lt;/P&gt;

&lt;P&gt;c &amp;nbsp; &amp;nbsp; Fill the upper triangle&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(1,1)=11.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(1,2)=-5.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(1,3)=3.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(1,4)=2.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(2,2)=13.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(2,3)=4.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(2,4)=-6.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(3,3)=16.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(3,4)=7.0d0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; A(4,4)=19.0d0&lt;/P&gt;

&lt;P&gt;c &amp;nbsp; &amp;nbsp; Make it symmetrical&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; do i=2,n&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do j=1,i-1&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A(i,j)=A(j,i)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enddo&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; enddo&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; call dpotrf ('L',n,A,n,info)&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/P&gt;</description>
      <pubDate>Mon, 09 Dec 2013 22:22:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933631#M13904</guid>
      <dc:creator>schulzey</dc:creator>
      <dc:date>2013-12-09T22:22:47Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933632#M13905</link>
      <description>Hi, 

I run your code, I got the good result with code. 

		A(1,1)	3.31662479035540	REAL(8) 
		A(2,1)	-1.50755672288882	REAL(8) 
		A(3,1)	0.904534033733291	REAL(8) 
		A(4,1)	0.603022689155527	REAL(8) 
		A(1,2)	-5.00000000000000	REAL(8) 
		A(2,2)	3.27525155175488	REAL(8) 
		A(3,2)	1.63762577587744	REAL(8) 
		A(4,2)	-1.55435666862943	REAL(8) 
		A(1,3)	3.00000000000000	REAL(8) 
		A(2,3)	4.00000000000000	REAL(8) 
		A(3,3)	3.53553390593274	REAL(8) 
		A(4,3)	2.54558441227157	REAL(8) 
		A(1,4)	2.00000000000000	REAL(8) 
		A(2,4)	-6.00000000000000	REAL(8) 
		A(3,4)	7.00000000000000	REAL(8) 
		A(4,4)	3.12095161498073	REAL(8)

The problem there may be relatd to the project setting?  What is the compiler you are using? 

If you set the first one: 
  Fortran =&amp;gt; Libraries =&amp;gt; Use Intel Math Kernel Library = Sequential
The last one is not needed any more: 
  Fortran =&amp;gt; Libraries =&amp;gt; Use Intel Math Kernel Library = Sequential

Also, you upload the whoe project, it may help to have further check. 

Thanks,
Chao</description>
      <pubDate>Tue, 10 Dec 2013 05:25:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933632#M13905</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2013-12-10T05:25:39Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933633#M13906</link>
      <description>Hi, 

I run your code, I got the good result with code. 

		A(1,1)	3.31662479035540	REAL(8) 
		A(2,1)	-1.50755672288882	REAL(8) 
		A(3,1)	0.904534033733291	REAL(8) 
		A(4,1)	0.603022689155527	REAL(8) 
		A(1,2)	-5.00000000000000	REAL(8) 
		A(2,2)	3.27525155175488	REAL(8) 
		A(3,2)	1.63762577587744	REAL(8) 
		A(4,2)	-1.55435666862943	REAL(8) 
		A(1,3)	3.00000000000000	REAL(8) 
		A(2,3)	4.00000000000000	REAL(8) 
		A(3,3)	3.53553390593274	REAL(8) 
		A(4,3)	2.54558441227157	REAL(8) 
		A(1,4)	2.00000000000000	REAL(8) 
		A(2,4)	-6.00000000000000	REAL(8) 
		A(3,4)	7.00000000000000	REAL(8) 
		A(4,4)	3.12095161498073	REAL(8)

The problem there may be relatd to the project setting?  What is the compiler you are using? 

If you set the first one: 
  Fortran =&amp;gt; Libraries =&amp;gt; Use Intel Math Kernel Library = Sequential
The last one is not needed any more: 
  Fortran =&amp;gt; Libraries =&amp;gt; Use Intel Math Kernel Library = Sequential

Also, you upload the whoe project, it may help to have further check. 

Thanks,
Chao</description>
      <pubDate>Tue, 10 Dec 2013 05:25:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933633#M13906</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2013-12-10T05:25:44Z</dc:date>
    </item>
    <item>
      <title>The code posted by Schulzey</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933634#M13907</link>
      <description>&lt;P&gt;The code posted by Schulzey merits a couple of comments.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;First of all, the dpotrf routine is appropriate to use only if the matrix A is positive-definite -- it is necessary but not sufficient that A be symmetric. The particular matrix values do satisfy this requirement.&lt;/P&gt;

&lt;P&gt;Secondly, only the lower triangle of A is used if the first argument passed to the routine dpotrf is 'L'. What is contained in the upper triangular part, not including the main diagonal, is immaterial. Therefore, there is no need for the "make it symmetrical" part of the posted code. It would be more efficient to fill in only the lower triangle of A if the intent is to call dpotrf with 'L' as the first argument.&lt;/P&gt;</description>
      <pubDate>Tue, 10 Dec 2013 12:35:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933634#M13907</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2013-12-10T12:35:09Z</dc:date>
    </item>
    <item>
      <title>Thanks guys, I started a new</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933635#M13908</link>
      <description>&lt;P&gt;Thanks guys, I started a new project and now it's working properly. I must have had a setting in Visual Studio that was stopping it.&lt;/P&gt;</description>
      <pubDate>Tue, 10 Dec 2013 23:09:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problem-with-MKL-dpotrf-function/m-p/933635#M13908</guid>
      <dc:creator>schulzey</dc:creator>
      <dc:date>2013-12-10T23:09:07Z</dc:date>
    </item>
  </channel>
</rss>

