<?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 problem with dgetrf in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818793#M4539</link>
    <description>Hi Kosi,&lt;BR /&gt;&lt;BR /&gt;mecej4 is right, you used f95 interface incorrectly. Correct interfaces are as follows:&lt;BR /&gt;&lt;BR /&gt;&lt;P MSHELP="http://www.microsoft.com/MSHelp/"&gt;&lt;B&gt;FORTRAN 77:&lt;/B&gt;&lt;/P&gt;&lt;DL MSHELP="http://www.microsoft.com/MSHelp/" class="dlsyntax"&gt;&lt;P class="dlsyntaxpara"&gt;call sgetrf(m,n,a,lda,ipiv,info)&lt;/P&gt;&lt;P class="dlsyntaxpara"&gt;call dgetrf(m,n,a,lda,ipiv,info)&lt;/P&gt;&lt;P class="dlsyntaxpara"&gt;call cgetrf(m,n,a,lda,ipiv,info)&lt;/P&gt;&lt;P class="dlsyntaxpara"&gt;call zgetrf(m,n,a,lda,ipiv,info)&lt;/P&gt;&lt;/DL&gt;&lt;P MSHELP="http://www.microsoft.com/MSHelp/"&gt;&lt;B&gt;Fortran 95:&lt;/B&gt;&lt;/P&gt;&lt;DL MSHELP="http://www.microsoft.com/MSHelp/" class="dlsyntax"&gt;&lt;P class="dlsyntaxpara"&gt;call getrf(a[,ipiv][,info])&lt;/P&gt;&lt;/DL&gt;&lt;BR /&gt;But in your program you used F77 name (dgetrf) with the arguments of F95 interface. Please use either&lt;BR /&gt; call getrf( A, IPIV, INFO )&lt;BR /&gt;or&lt;BR /&gt; call dgetrf( m, n, a, lda, ipiv, info )&lt;BR /&gt;&lt;BR /&gt;Also make sure you've changed ALL "ilp64" substrings in your compilation link with "lp64". In my program it looked like: &lt;BR /&gt;&lt;BR /&gt;ifort test.f90 -L$MKLROOT/lib/intel64 -I$MKLROOT/include/intel64 -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -Wl,--start-group $MKLROOT/lib/intel64/libmkl_intel_lp64.a $MKLROOT/lib/intel64/libmkl_intel_thread.a $MKLROOT/lib/intel64/libmkl_core.a -Wl,--end-group -openmp -lpthread -o test_intel&lt;BR /&gt;&lt;P&gt;&lt;BR /&gt;bash-4.1$ ./run.sh&lt;BR /&gt; Original matrix A&lt;BR /&gt; 5.00 7.00 6.00 5.00&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 6.00 8.00 10.00 9.00&lt;BR /&gt; 5.00 7.00 9.00 10.00&lt;BR /&gt; parameter INFO is : 0&lt;BR /&gt; LU decomposition using LAPACK DGETRF routine&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 0.86 -0.57 3.14 3.00&lt;BR /&gt; 0.71 0.25 2.50 4.25&lt;BR /&gt; 0.71 0.25 -0.20 0.10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 06 Oct 2011 03:19:18 GMT</pubDate>
    <dc:creator>Konstantin_A_Intel</dc:creator>
    <dc:date>2011-10-06T03:19:18Z</dc:date>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818787#M4533</link>
      <description>Hi,&lt;BR /&gt;I have problems calling dgetrf. A small test program is compiled as follows:&lt;BR /&gt;/opt/intel/bin/ifort test_intel.f90 -L/opt/intel/composerxe-2011.2.137/mkl/lib/intel64 -I/opt/intel/composerxe-2011.2.137/mkl/include/intel64/ilp64 -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64 -Wl,--start-group /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_intel_ilp64.a /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_intel_thread.a /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -openmp -lpthread -o test_intel&lt;BR /&gt;When I use:&lt;BR /&gt;&lt;BR /&gt;call dgetrf( A, IPIV, INFO )&lt;BR /&gt;&lt;BR /&gt;I get the following:&lt;BR /&gt;The matrix has dimensions: n = m = lda = 4&lt;BR /&gt;Original matrix A &lt;BR /&gt; 5.00 7.00 6.00 5.00&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 6.00 8.00 10.00 9.00&lt;BR /&gt; 5.00 7.00 9.00 10.00&lt;BR /&gt;forrtl: severe (174): SIGSEGV, segmentation fault occurred&lt;BR /&gt;Image PC Routine Line Source &lt;BR /&gt;test_intel 0000000000408253 Unknown Unknown Unknown&lt;BR /&gt;test_intel 000000000040817C Unknown Unknown Unknown&lt;BR /&gt;test_intel 0000000000407DCD Unknown Unknown Unknown&lt;BR /&gt;test_intel 000000000040799C Unknown Unknown Unknown&lt;BR /&gt;libc.so.6 000000374FA1D994 Unknown Unknown Unknown&lt;BR /&gt;test_intel 00000000004078A9 Unknown Unknown Unknown&lt;BR /&gt;&lt;BR /&gt;If I use fortran 77 call:&lt;BR /&gt;call dgetrf( m, n, a, lda, ipiv, info )&lt;BR /&gt;&lt;BR /&gt;I get :&lt;BR /&gt;MKL ERROR: Parameter 4 was incorrect on entry to DGETRF&lt;BR /&gt; parameter INFO is : -4&lt;BR /&gt;&lt;BR /&gt;I would greatly appreciate if somebody can help me to solve my problem. Thanks in advance.&lt;BR /&gt;&lt;BR /&gt;Kon</description>
      <pubDate>Wed, 05 Oct 2011 05:41:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818787#M4533</guid>
      <dc:creator>kon-konstantinov</dc:creator>
      <dc:date>2011-10-05T05:41:38Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818788#M4534</link>
      <description>If you want to use the F95 interface with optional arguments, use the generic name GETRF, and USE mkl95_lapack to pick up the interface.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[fortran]program getrfEx
use mkl95_lapack,only : getrf
implicit none
integer, parameter :: N = 4
integer :: i,j
real(8), dimension(N,N) :: A = &amp;amp; 
  (/ 5,7,6,5,7,10,8,7,6,8,10,9,5,7,9,10/)
integer, dimension(N) :: piv
integer :: info

call getrf( a, piv, info )
write(*,10)((a(i,j),j=1,N),i=1,N)
stop

10 format(1x,4F12.6)  
end program getrfEx
[/fortran]&lt;/PRE&gt; If you call the F77 routine, you must make sure that your variables are declared with the correct types and contain proper values. Since you showed no declarations or initializations, I cannot say what was wrong.</description>
      <pubDate>Wed, 05 Oct 2011 06:39:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818788#M4534</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-10-05T06:39:10Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818789#M4535</link>
      <description>Kon,&lt;DIV&gt;please try to relink this example with LP64 not iLP64 libraries and check the problem again.&lt;/DIV&gt;&lt;DIV&gt;--Gennady&lt;/DIV&gt;</description>
      <pubDate>Wed, 05 Oct 2011 13:34:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818789#M4535</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2011-10-05T13:34:56Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818790#M4536</link>
      <description>&lt;BR /&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;Here is my code compiled with:&lt;BR /&gt;&lt;BR /&gt;/opt/intel/bin/ifort test_intel.f90 -L/opt/intel/composerxe-2011.2.137/mkl/lib/intel64 -I/opt/intel/composerxe-2011.2.137/mkl/include/intel64/ilp64 -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64 -Wl,--start-group /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_intel_ilp64.a /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_intel_thread.a /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -openmp -lpthread -o test_intel&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;program test_lapack&lt;BR /&gt;USE mkl95_LAPACK, ONLY: GETRF&lt;BR /&gt;!implicit none&lt;BR /&gt;integer :: i, j, k, l, m, n, LDA, INFO, LWORK &lt;BR /&gt;real(8), dimension(:,:), allocatable :: A&lt;BR /&gt;real(8), dimension(:), allocatable :: WORK&lt;BR /&gt;integer, dimension(:), allocatable :: IPIV &lt;BR /&gt;n = 4; m = 4&lt;BR /&gt;LDA = n&lt;BR /&gt;allocate(A(LDA,n), IPIV(n), WORK(n) )&lt;BR /&gt;! define lower half of matrix&lt;BR /&gt; A(1,1)= 5;&lt;BR /&gt; A(2,1)=7; A(2,2)=10&lt;BR /&gt; A(3,1)=6; A(3,2)=8; A(3,3)= 10&lt;BR /&gt; A(4,1)=5; A(4,2)=7; A(4,3)=9; A(4,4)= 10&lt;BR /&gt;! define upper half by symmetry&lt;BR /&gt; do i = 1, n&lt;BR /&gt; do j = i+1, n&lt;BR /&gt; A(i,j)=A(j,i)&lt;BR /&gt;   end do&lt;BR /&gt; end do  &lt;BR /&gt;print*, " Original matrix A "&lt;BR /&gt;do i = 1, n&lt;BR /&gt;write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;! call dsytrf( a, ipiv, info )&lt;BR /&gt;! call dsytri( a, ipiv, 'L', info )&lt;BR /&gt;! call dpotrf( A, 'L', INFO )&lt;BR /&gt;! call dpotrf( 'L', n, a, lda, info )&lt;BR /&gt; call dgetrf( A, IPIV, INFO )&lt;BR /&gt;! call dgetrf( m, n, a, lda, ipiv, info )&lt;BR /&gt;print*, " parameter INFO is : ", INFO&lt;BR /&gt;print*, " LU decomposition using LAPACK DGETRF routine "&lt;BR /&gt;!print*, " Cholesky decomposition using LAPACK DPOTRF routine "&lt;BR /&gt;do i = 1, n&lt;BR /&gt;write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;LWORK = n&lt;BR /&gt;&lt;BR /&gt;! call dgetri( a, ipiv ,info )&lt;BR /&gt;!print*, " parameter INFO is : ", INFO&lt;BR /&gt;!print*, " Matrix inverse using DGETRI after LU decomposition using DGETRF routines "&lt;BR /&gt;!!print*, " Matrix inverse using DPOTRI after Cholesky decomposition using DPOTRF routines "&lt;BR /&gt;!do i = 1, n&lt;BR /&gt;!write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;!enddo&lt;BR /&gt;&lt;BR /&gt;end program test_lapack&lt;BR /&gt;&lt;BR /&gt;This is the result:&lt;BR /&gt;Original matrix A &lt;BR /&gt; 5.00 7.00 6.00 5.00&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 6.00 8.00 10.00 9.00&lt;BR /&gt; 5.00 7.00 9.00 10.00&lt;BR /&gt;forrtl: severe (174): SIGSEGV, segmentation fault occurred&lt;BR /&gt;Image PC Routine Line Source &lt;BR /&gt;test_intel 0000000000408253 Unknown Unknown Unknown&lt;BR /&gt;test_intel 000000000040817C Unknown Unknown Unknown&lt;BR /&gt;test_intel 0000000000407DCD Unknown Unknown Unknown&lt;BR /&gt;test_intel 000000000040799C Unknown Unknown Unknown&lt;BR /&gt;libc.so.6 000000368461D994 Unknown Unknown Unknown&lt;BR /&gt;test_intel 00000000004078A9 Unknown Unknown Unknown&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 05 Oct 2011 21:47:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818790#M4536</guid>
      <dc:creator>kon-konstantinov</dc:creator>
      <dc:date>2011-10-05T21:47:16Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818791#M4537</link>
      <description>Hi Gennady,&lt;BR /&gt;&lt;BR /&gt;Thanks for your reply. I tryed to compile with LP64 instead of iLP64 but I had the same problem. Here is my code:&lt;BR /&gt;&lt;BR /&gt;program test_lapack&lt;BR /&gt;USE mkl95_LAPACK, ONLY: GETRF&lt;BR /&gt;!implicit none&lt;BR /&gt;integer :: i, j, k, l, m, n, LDA, INFO, LWORK &lt;BR /&gt;real(8), dimension(:,:), allocatable :: A&lt;BR /&gt;real(8), dimension(:), allocatable :: WORK&lt;BR /&gt;integer, dimension(:), allocatable :: IPIV &lt;BR /&gt;n = 4; m = 4&lt;BR /&gt;LDA = n&lt;BR /&gt;allocate(A(LDA,n), IPIV(n), WORK(n) )&lt;BR /&gt;! define lower half of matrix&lt;BR /&gt; A(1,1)= 5;&lt;BR /&gt; A(2,1)=7; A(2,2)=10&lt;BR /&gt; A(3,1)=6; A(3,2)=8; A(3,3)= 10&lt;BR /&gt; A(4,1)=5; A(4,2)=7; A(4,3)=9; A(4,4)= 10&lt;BR /&gt;! define upper half by symmetry&lt;BR /&gt; do i = 1, n&lt;BR /&gt; do j = i+1, n&lt;BR /&gt; A(i,j)=A(j,i)&lt;BR /&gt; end do&lt;BR /&gt; end do  &lt;BR /&gt;print*, " Original matrix A "&lt;BR /&gt;do i = 1, n&lt;BR /&gt;write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;! call dsytrf( a, ipiv, info )&lt;BR /&gt;! call dsytri( a, ipiv, 'L', info )&lt;BR /&gt;! call dpotrf( A, 'L', INFO )&lt;BR /&gt;! call dpotrf( 'L', n, a, lda, info )&lt;BR /&gt; call dgetrf( A, IPIV, INFO )&lt;BR /&gt;! call dgetrf( m, n, a, lda, ipiv, info )&lt;BR /&gt;print*, " parameter INFO is : ", INFO&lt;BR /&gt;print*, " LU decomposition using LAPACK DGETRF routine "&lt;BR /&gt;!print*, " Cholesky decomposition using LAPACK DPOTRF routine "&lt;BR /&gt;do i = 1, n&lt;BR /&gt;write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;LWORK = n&lt;BR /&gt;&lt;BR /&gt;! call dgetri( a, ipiv ,info )&lt;BR /&gt;!print*, " parameter INFO is : ", INFO&lt;BR /&gt;!print*, " Matrix inverse using DGETRI after LU decomposition using DGETRF routines "&lt;BR /&gt;!!print*, " Matrix inverse using DPOTRI after Cholesky decomposition using DPOTRF routines "&lt;BR /&gt;!do i = 1, n&lt;BR /&gt;!write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;!enddo&lt;BR /&gt;&lt;BR /&gt;end program test_lapack&lt;BR /&gt;&lt;BR /&gt;This is the result:&lt;BR /&gt;&lt;BR /&gt;Original matrix A &lt;BR /&gt; 5.00 7.00 6.00 5.00&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 6.00 8.00 10.00 9.00&lt;BR /&gt; 5.00 7.00 9.00 10.00&lt;BR /&gt;forrtl: severe (174): SIGSEGV, segmentation fault occurred&lt;BR /&gt;Image PC Routine Line Source &lt;BR /&gt;test_intel 0000000000408163 Unknown Unknown Unknown&lt;BR /&gt;test_intel 0000000000407DCD Unknown Unknown Unknown&lt;BR /&gt;test_intel 000000000040799C Unknown Unknown Unknown&lt;BR /&gt;libc.so.6 000000368461D994 Unknown Unknown Unknown&lt;BR /&gt;test_intel 00000000004078A9 Unknown Unknown Unknown&lt;BR /&gt;&lt;BR /&gt;I am stuck, I don't know what to do.&lt;BR /&gt;</description>
      <pubDate>Wed, 05 Oct 2011 21:57:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818791#M4537</guid>
      <dc:creator>kon-konstantinov</dc:creator>
      <dc:date>2011-10-05T21:57:53Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818792#M4538</link>
      <description>The solution was given above, in the first sentence of Response #1.</description>
      <pubDate>Wed, 05 Oct 2011 23:24:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818792#M4538</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-10-05T23:24:17Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818793#M4539</link>
      <description>Hi Kosi,&lt;BR /&gt;&lt;BR /&gt;mecej4 is right, you used f95 interface incorrectly. Correct interfaces are as follows:&lt;BR /&gt;&lt;BR /&gt;&lt;P MSHELP="http://www.microsoft.com/MSHelp/"&gt;&lt;B&gt;FORTRAN 77:&lt;/B&gt;&lt;/P&gt;&lt;DL MSHELP="http://www.microsoft.com/MSHelp/" class="dlsyntax"&gt;&lt;P class="dlsyntaxpara"&gt;call sgetrf(m,n,a,lda,ipiv,info)&lt;/P&gt;&lt;P class="dlsyntaxpara"&gt;call dgetrf(m,n,a,lda,ipiv,info)&lt;/P&gt;&lt;P class="dlsyntaxpara"&gt;call cgetrf(m,n,a,lda,ipiv,info)&lt;/P&gt;&lt;P class="dlsyntaxpara"&gt;call zgetrf(m,n,a,lda,ipiv,info)&lt;/P&gt;&lt;/DL&gt;&lt;P MSHELP="http://www.microsoft.com/MSHelp/"&gt;&lt;B&gt;Fortran 95:&lt;/B&gt;&lt;/P&gt;&lt;DL MSHELP="http://www.microsoft.com/MSHelp/" class="dlsyntax"&gt;&lt;P class="dlsyntaxpara"&gt;call getrf(a[,ipiv][,info])&lt;/P&gt;&lt;/DL&gt;&lt;BR /&gt;But in your program you used F77 name (dgetrf) with the arguments of F95 interface. Please use either&lt;BR /&gt; call getrf( A, IPIV, INFO )&lt;BR /&gt;or&lt;BR /&gt; call dgetrf( m, n, a, lda, ipiv, info )&lt;BR /&gt;&lt;BR /&gt;Also make sure you've changed ALL "ilp64" substrings in your compilation link with "lp64". In my program it looked like: &lt;BR /&gt;&lt;BR /&gt;ifort test.f90 -L$MKLROOT/lib/intel64 -I$MKLROOT/include/intel64 -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -Wl,--start-group $MKLROOT/lib/intel64/libmkl_intel_lp64.a $MKLROOT/lib/intel64/libmkl_intel_thread.a $MKLROOT/lib/intel64/libmkl_core.a -Wl,--end-group -openmp -lpthread -o test_intel&lt;BR /&gt;&lt;P&gt;&lt;BR /&gt;bash-4.1$ ./run.sh&lt;BR /&gt; Original matrix A&lt;BR /&gt; 5.00 7.00 6.00 5.00&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 6.00 8.00 10.00 9.00&lt;BR /&gt; 5.00 7.00 9.00 10.00&lt;BR /&gt; parameter INFO is : 0&lt;BR /&gt; LU decomposition using LAPACK DGETRF routine&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 0.86 -0.57 3.14 3.00&lt;BR /&gt; 0.71 0.25 2.50 4.25&lt;BR /&gt; 0.71 0.25 -0.20 0.10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Oct 2011 03:19:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818793#M4539</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2011-10-06T03:19:18Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818794#M4540</link>
      <description>Hi Konstantin,&lt;BR /&gt;&lt;BR /&gt;Thank you very much for your help. I followed your instructions and it worked, I got the same answers.&lt;BR /&gt;However, my final goal is to inver the matrix. For this purpose I used GETRI subroutine.&lt;BR /&gt;I've added to my program:&lt;BR /&gt;&lt;BR /&gt;USE mkl95_LAPACK, ONLY: GETRF, GETRI&lt;BR /&gt;call getri( A, IPIV ,INFO )&lt;BR /&gt;The result is the same as from GETRF:&lt;BR /&gt;Original matrix A &lt;BR /&gt; 5.00 7.00 6.00 5.00&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 6.00 8.00 10.00 9.00&lt;BR /&gt; 5.00 7.00 9.00 10.00&lt;BR /&gt; parameter INFO is : 0&lt;BR /&gt; Cholesky decomposition using LAPACK DPOTRF routine &lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 0.86 -0.57 3.14 3.00&lt;BR /&gt; 0.71 0.25 2.50 4.25&lt;BR /&gt; 0.71 0.25 -0.20 0.10&lt;BR /&gt; parameter INFO is : 0&lt;BR /&gt; Matrix inverse using GETRI after using GETRF routines &lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 0.86 -0.57 3.14 3.00&lt;BR /&gt; 0.71 0.25 2.50 4.25&lt;BR /&gt; 0.71 0.25 -0.20 0.10&lt;BR /&gt;Again I am doing something wrong. Could you help me again please. &lt;BR /&gt;One more question. I need a routine that calculates a generalised inverse of non-positive definite matrix.&lt;BR /&gt;Do you know such routine from LAPACK. If yes can you tell me how to use it. Thanks very much again.&lt;BR /&gt;By the way my first name is also Konstantin.&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;&lt;BR /&gt;Kon&lt;BR /&gt;</description>
      <pubDate>Fri, 07 Oct 2011 00:04:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818794#M4540</guid>
      <dc:creator>kon-konstantinov</dc:creator>
      <dc:date>2011-10-07T00:04:16Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818795#M4541</link>
      <description>You probably forgot to CALL GETRI. It is not possible to comment on what could be wrong if you do not show us your code.</description>
      <pubDate>Fri, 07 Oct 2011 03:23:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818795#M4541</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-10-07T03:23:33Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818796#M4542</link>
      <description>In order to get inverse of symmetrical indefinite matrix please use a pair of sytrf/sytri function:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt; call sytrf( a, uplo, ipiv,info )&lt;BR /&gt; call sytri( a, ipiv, uplo, info )&lt;BR /&gt;&lt;BR /&gt;uplo should be either 'U' or 'L' depending on upper or lower part of your matrix is meaninful.&lt;BR /&gt;&lt;BR /&gt;Please refer to online MKL documentation for more details of any functionality.&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/updates/10.3.5/mklman/index.htm"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/updates/10.3.5/mklman/index.htm&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Konstantin&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2011 03:46:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818796#M4542</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2011-10-07T03:46:32Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818797#M4543</link>
      <description>Hi,&lt;BR /&gt;I didn't forget to call GETRI. Here is my code compiled with:&lt;BR /&gt;/opt/intel/bin/ifort test_intel.f90 -L/opt/intel/composerxe-2011.2.137/mkl/lib/intel64 -I/opt/intel/composerxe-2011.2.137/mkl/include/intel64/lp64 -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64 -Wl,--start-group /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_intel_thread.a /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -openmp -lpthread -o test_intel&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;program test_lapack&lt;BR /&gt;!Serial number : CZMG-JX2MSWXW &lt;BR /&gt;!use deeba&lt;BR /&gt;! USE mkl95_PRECISION, ONLY: WP =&amp;gt; SP&lt;BR /&gt; USE mkl95_LAPACK, ONLY: GETRF, GETRI&lt;BR /&gt;! USE mkl95_LAPACK, ONLY: GETRI&lt;BR /&gt;!implicit none&lt;BR /&gt;integer :: i, j, k, l, m, n, LDA, INFO, LWORK &lt;BR /&gt;&lt;BR /&gt;real(8), dimension(:,:), allocatable :: A&lt;BR /&gt;real(8), dimension(:), allocatable :: WORK&lt;BR /&gt;integer, dimension(:), allocatable :: IPIV &lt;BR /&gt;CHARACTER(LEN=250) :: fin, fout&lt;BR /&gt;&lt;BR /&gt;!PRINT*, ' Enter input file name i : '&lt;BR /&gt;!READ(*,*) fin(i)&lt;BR /&gt;!PRINT*, ' Enter output file name: '&lt;BR /&gt;!READ(*,*) fout&lt;BR /&gt;n = 4; m = 4&lt;BR /&gt;LDA = n&lt;BR /&gt;allocate(A(LDA,n), IPIV(n), WORK(n) )&lt;BR /&gt;! define lower half of matrix&lt;BR /&gt; A(1,1)= 5;&lt;BR /&gt; A(2,1)=7; A(2,2)=10&lt;BR /&gt; A(3,1)=6; A(3,2)=8; A(3,3)= 10&lt;BR /&gt; A(4,1)=5; A(4,2)=7; A(4,3)=9; A(4,4)= 10&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;! define upper half by symmetry&lt;BR /&gt; do i = 1, n&lt;BR /&gt; do j = i+1, n&lt;BR /&gt; A(i,j)=A(j,i)&lt;BR /&gt; end do&lt;BR /&gt; end do  &lt;BR /&gt;print*, " Original matrix A "&lt;BR /&gt;do i = 1, n&lt;BR /&gt;write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;! call dsytrf( a, ipiv, info )&lt;BR /&gt;! call dsytri( a, ipiv, 'L', info )&lt;BR /&gt;! call dpotrf( A, 'L', INFO )&lt;BR /&gt;! call dpotrf( 'L', n, a, lda, info )&lt;BR /&gt;&lt;BR /&gt; call getrf( A, IPIV, INFO )&lt;BR /&gt;! call dgetrf( m, n, a, lda, ipiv, info )&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;print*, " parameter INFO is : ", INFO&lt;BR /&gt;!print*, " LU decomposition using LAPACK DGETRF routine "&lt;BR /&gt;print*, " Cholesky decomposition using LAPACK DPOTRF routine "&lt;BR /&gt;do i = 1, n&lt;BR /&gt;write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;LWORK = n&lt;BR /&gt;&lt;BR /&gt; call getri( A, IPIV ,INFO )&lt;BR /&gt;print*, " parameter INFO is : ", INFO&lt;BR /&gt;print*, " Matrix inverse using GETRI after LU decomposition using GETRF routines "&lt;BR /&gt;!print*, " Matrix inverse using DPOTRI after Cholesky decomposition using DPOTRF routines "&lt;BR /&gt;do i = 1, n&lt;BR /&gt;write(*,fmt='(4f10.2)') A(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;end program test_lapack&lt;BR /&gt;&lt;BR /&gt;This is the result:&lt;BR /&gt;&lt;BR /&gt;Original matrix A &lt;BR /&gt; 5.00 7.00 6.00 5.00&lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 6.00 8.00 10.00 9.00&lt;BR /&gt; 5.00 7.00 9.00 10.00&lt;BR /&gt; parameter INFO is : 0&lt;BR /&gt; Cholesky decomposition using LAPACK DPOTRF routine &lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 0.86 -0.57 3.14 3.00&lt;BR /&gt; 0.71 0.25 2.50 4.25&lt;BR /&gt; 0.71 0.25 -0.20 0.10&lt;BR /&gt; parameter INFO is : 0&lt;BR /&gt; Matrix inverse using DGETRI after using DGETRF routines &lt;BR /&gt; 7.00 10.00 8.00 7.00&lt;BR /&gt; 0.86 -0.57 3.14 3.00&lt;BR /&gt; 0.71 0.25 2.50 4.25&lt;BR /&gt; 0.71 0.25 -0.20 0.10&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 07 Oct 2011 04:16:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818797#M4543</guid>
      <dc:creator>kon-konstantinov</dc:creator>
      <dc:date>2011-10-07T04:16:53Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818798#M4544</link>
      <description>Hi Konstantin,&lt;BR /&gt;&lt;BR /&gt;It seems you're still compiling your code with ilp64 modules that leads to incorrect results. Please replace-lmkl_blas95_ilp64 -lmkl_lapack95_ilp64with-lmkl_blas95_lp64 -lmkl_lapack95_lp64. It should work.</description>
      <pubDate>Fri, 07 Oct 2011 04:38:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818798#M4544</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2011-10-07T04:38:02Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818799#M4545</link>
      <description>Hi Konstantin,&lt;BR /&gt;&lt;BR /&gt;I've done that and it worked. However, I have another problem. I want to use dgemm from BLAS.&lt;BR /&gt;Here is my code:&lt;BR /&gt;&lt;BR /&gt;program test_blas&lt;BR /&gt;&lt;BR /&gt; USE mkl95_BLAS, ONLY: gemm&lt;BR /&gt;!implicit none&lt;BR /&gt;integer :: i, j, k, l, m, n, lda&lt;BR /&gt;real(8), DIMENSION(:,:), ALLOCATABLE :: A, B, C&lt;BR /&gt;&lt;BR /&gt;real(kind=8)::alpha,beta&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;alpha=1.0;beta=1.0&lt;BR /&gt;l&lt;BR /&gt;allocate (A(2,3), B(3,2), C(2,2) )&lt;BR /&gt;&lt;BR /&gt;A(1,1) = 1; A(1,2) = 2; A(1,3) = 3&lt;BR /&gt;A(2,1) = 4; A(2,2) = 5; A(2,3) = 6&lt;BR /&gt;!&lt;BR /&gt;B(1,1) = 2; B(1,2) = 3&lt;BR /&gt;B(2,1) = 4; B(2,2) = 5&lt;BR /&gt;B(3,1) = 6; B(3,2) = 7&lt;BR /&gt;Print*, " Original matriz A : "&lt;BR /&gt;do i = 1, 2&lt;BR /&gt;write(*,fmt='(13f10.3)') a(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;Print*, " Original matriz B : "&lt;BR /&gt;do i = 1, 3&lt;BR /&gt;write(*,fmt='(13f10.3)') b(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;call dgemm('N', 'N', 2, 2, 3, alfa, a, 2, b, 3, 1.0, c, 2)&lt;BR /&gt;print*, " Product matrix C : "&lt;BR /&gt;&lt;BR /&gt;do i = 1, 2&lt;BR /&gt;write(*,fmt='(13f10.3)') c(i,:)&lt;BR /&gt;enddo&lt;BR /&gt;&lt;BR /&gt;end program test_blas&lt;BR /&gt;&lt;BR /&gt;The result is:&lt;BR /&gt;Product matrix C : &lt;BR /&gt; 0.000 0.000&lt;BR /&gt; 0.000 0.000&lt;BR /&gt;&lt;BR /&gt;The program is compiled with:&lt;BR /&gt;/opt/intel/bin/ifort test_blas.f90 -L/opt/intel/composerxe-2011.2.137/mkl/lib/intel64 -I/opt/intel/composerxe-2011.2.137/mkl/include/intel64/lp64 -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -Wl,--start-group /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_intel_thread.a /opt/intel/composerxe-2011.2.137/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -openmp -lpthread -fast -o test_blas&lt;BR /&gt;&lt;BR /&gt;What is wrong again? Thanks.&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;&lt;BR /&gt;Kon</description>
      <pubDate>Fri, 14 Oct 2011 04:50:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818799#M4545</guid>
      <dc:creator>kon-konstantinov</dc:creator>
      <dc:date>2011-10-14T04:50:10Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818800#M4546</link>
      <description>Explain why you wrote&lt;BR /&gt;&lt;BR /&gt; call dgemm('N', 'N', 2, 2, 2, alfa, a, 2, b, 2, beta, c, 2)&lt;BR /&gt;&lt;BR /&gt;How is the subroutine to know that matrix &lt;B&gt;a&lt;/B&gt; is 2 X 3 and matrix &lt;B&gt;b&lt;/B&gt; is 3 X 2, when there is no '3' or variable with value 3 anywhere in the argument list?</description>
      <pubDate>Fri, 14 Oct 2011 04:57:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818800#M4546</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-10-14T04:57:37Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818801#M4547</link>
      <description>OK that was a mistake.&lt;BR /&gt;The new call is:&lt;BR /&gt;call dgemm('N', 'N', 2, 3, 3, alfa, a, 2, b, 3, beta, c, 2)&lt;BR /&gt;and the result is the same. What is wrong?</description>
      <pubDate>Fri, 14 Oct 2011 05:28:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818801#M4547</guid>
      <dc:creator>kon-konstantinov</dc:creator>
      <dc:date>2011-10-14T05:28:22Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818802#M4548</link>
      <description>Please try this one:&lt;BR /&gt;&lt;BR /&gt;call dgemm('N', 'N', 2, 2, 3, alfa, a, 2, b, 3, beta, c, 2)&lt;BR /&gt;</description>
      <pubDate>Fri, 14 Oct 2011 06:26:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818802#M4548</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2011-10-14T06:26:27Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818803#M4549</link>
      <description>I've used:&lt;BR /&gt;call dgemm('N', 'N', 2, 2, 3, alfa, a, 2, b, 3, beta, c, 2)&lt;BR /&gt;&lt;BR /&gt;but still getting zero matrix.</description>
      <pubDate>Fri, 14 Oct 2011 06:40:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818803#M4549</guid>
      <dc:creator>kon-konstantinov</dc:creator>
      <dc:date>2011-10-14T06:40:28Z</dc:date>
    </item>
    <item>
      <title>problem with dgetrf</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818804#M4550</link>
      <description>What is the value of &lt;B&gt;alfa&lt;/B&gt;? Why don't you try using IMPLICIT NONE? Or include interfaces for MKL routines:&lt;BR /&gt;&lt;BR /&gt;!DEC$NOFREEFORM&lt;BR /&gt; include 'mkl_blas.fi' &lt;BR /&gt;!DEC$FREEFORM&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 14 Oct 2011 06:57:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-with-dgetrf/m-p/818804#M4550</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-10-14T06:57:47Z</dc:date>
    </item>
  </channel>
</rss>

