<?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 Inverting a fully populated, low dimension square matirx in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverting-a-fully-populated-low-dimension-square-matirx/m-p/768841#M450</link>
    <description>I have found the example at &lt;A href="http://stackoverflow.com/questions/3519959/computing-the-inverse-of-a-matrix-using-lapack-in-c"&gt;http://stackoverflow.com/questions/3519959/computing-the-inverse-of-a-matrix-using-lapack-in-c&lt;/A&gt;. However, the function &lt;B&gt;dgetrf &lt;/B&gt;and &lt;B&gt;dgetri &lt;/B&gt;are not fast. I compared the speed for calculating the inverse of 1010 fully populated matrix with MATLAB and there was order of magnitude difference. Is there a faster function than &lt;B&gt;dgetri&lt;/B&gt;?&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;CODE&gt;&lt;SPAN class="sectionBodyText"&gt;&lt;/SPAN&gt;&lt;/CODE&gt;</description>
    <pubDate>Tue, 24 Apr 2012 17:40:39 GMT</pubDate>
    <dc:creator>Ahmad_Falahatpisheh</dc:creator>
    <dc:date>2012-04-24T17:40:39Z</dc:date>
    <item>
      <title>Inverting a fully populated, low dimension square matirx</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverting-a-fully-populated-low-dimension-square-matirx/m-p/768840#M449</link>
      <description>Dear All,&lt;BR /&gt;&lt;BR /&gt;Could someone kindly give me an example for C++ which uses MKL library for calculating the inverse of a square matrix. I would like to extend that to find the inverse of a square matrix which is fully populated and low dimensions (at most 2020).&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Ahmad</description>
      <pubDate>Sat, 21 Apr 2012 23:29:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverting-a-fully-populated-low-dimension-square-matirx/m-p/768840#M449</guid>
      <dc:creator>Ahmad_Falahatpisheh</dc:creator>
      <dc:date>2012-04-21T23:29:16Z</dc:date>
    </item>
    <item>
      <title>Inverting a fully populated, low dimension square matirx</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverting-a-fully-populated-low-dimension-square-matirx/m-p/768841#M450</link>
      <description>I have found the example at &lt;A href="http://stackoverflow.com/questions/3519959/computing-the-inverse-of-a-matrix-using-lapack-in-c"&gt;http://stackoverflow.com/questions/3519959/computing-the-inverse-of-a-matrix-using-lapack-in-c&lt;/A&gt;. However, the function &lt;B&gt;dgetrf &lt;/B&gt;and &lt;B&gt;dgetri &lt;/B&gt;are not fast. I compared the speed for calculating the inverse of 1010 fully populated matrix with MATLAB and there was order of magnitude difference. Is there a faster function than &lt;B&gt;dgetri&lt;/B&gt;?&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;CODE&gt;&lt;SPAN class="sectionBodyText"&gt;&lt;/SPAN&gt;&lt;/CODE&gt;</description>
      <pubDate>Tue, 24 Apr 2012 17:40:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverting-a-fully-populated-low-dimension-square-matirx/m-p/768841#M450</guid>
      <dc:creator>Ahmad_Falahatpisheh</dc:creator>
      <dc:date>2012-04-24T17:40:39Z</dc:date>
    </item>
    <item>
      <title>Inverting a fully populated, low dimension square matirx</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverting-a-fully-populated-low-dimension-square-matirx/m-p/768842#M451</link>
      <description>&lt;P&gt;How fast do you want it to be? By my measurement DGETRF + DGETRI takes just 1.8ms:&lt;/P&gt;&lt;PRE&gt;$ cat test.f90
program test

    double precision a(10, 10), work(10)
    integer ipiv(10), info
    integer t1, t2, r

    call random_number(a)

    call system_clock(count=t1)
    call dgetrf(10, 10, a, 10, ipiv, info)
    call dgetri(10, a, 10, ipiv, work, 10, info)
    call system_clock(count=t2, count_rate=r)
    print *, (t2 - t1) / sngl

end program
$ ifort test.f90 -otest -mkl=sequential
$ time ./test
 1.8000000E-03
$&lt;/PRE&gt;</description>
      <pubDate>Wed, 25 Apr 2012 04:45:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverting-a-fully-populated-low-dimension-square-matirx/m-p/768842#M451</guid>
      <dc:creator>styc</dc:creator>
      <dc:date>2012-04-25T04:45:36Z</dc:date>
    </item>
  </channel>
</rss>

