<?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 original code was written in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044529#M20907</link>
    <description>&lt;P&gt;the original code was written on Fortran 90 but IPP supports only C API.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 24 Sep 2015 15:49:44 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2015-09-24T15:49:44Z</dc:date>
    <item>
      <title>Inverse of very small matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044526#M20904</link>
      <description>&lt;P&gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; line-height: normal; widows: auto;"&gt;Dear all,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="word-break: break-word; margin-bottom: 10px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; line-height: normal; widows: auto;"&gt;I have a piece of code in Fortran90 in which I have to solve both a non-linear (for which I have to invert the Jacobian matrix) and a linear system of equations. When I say very small I mean&amp;nbsp;&lt;EM&gt;n&lt;/EM&gt;&amp;nbsp;unknowns for both operations, with&amp;nbsp;&lt;EM&gt;n&amp;lt;=4&lt;/EM&gt;. Unfortunately,&amp;nbsp;&lt;EM&gt;n&lt;/EM&gt;&amp;nbsp;is not known&amp;nbsp;&lt;EM&gt;a priori&lt;/EM&gt;. What do you think is the fastest option? I thought of writing explicit formulas for cases with&amp;nbsp;&lt;EM&gt;n=1,2&lt;/EM&gt;&amp;nbsp;and using other methods for&amp;nbsp;&lt;EM&gt;n=3,4&lt;/EM&gt;&amp;nbsp;(e.g. some functions of the Intel MKL libraries), for the sake of performance. Is this sensible or should I write explicit formulas for the inverse matrix also for&amp;nbsp;&lt;EM&gt;n=3,4&lt;/EM&gt;?&lt;/P&gt;

&lt;P style="word-break: break-word; margin-bottom: 10px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; line-height: normal; widows: auto;"&gt;The code is going to be called very many times in a Finite Element Method analysis, for this reason I was looking for the fastest solution. I was also looking for a comparison chart of MKL matrix inversion routines for very small matrices versus explicit methods.&lt;/P&gt;

&lt;P style="word-break: break-word; margin-bottom: 10px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; line-height: normal; widows: auto;"&gt;Regards,&lt;/P&gt;

&lt;P style="word-break: break-word; margin-bottom: 10px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; line-height: normal; widows: auto;"&gt;N&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2015 10:46:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044526#M20904</guid>
      <dc:creator>warpino</dc:creator>
      <dc:date>2015-09-24T10:46:38Z</dc:date>
    </item>
    <item>
      <title>dear N.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044527#M20905</link>
      <description>&lt;P&gt;dear N.&lt;/P&gt;

&lt;P&gt;We know about such problem, but currently w&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;e don't provide optimization for such tiny cases and may be would worth for you to try implement the direct methods to make the inversion.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;--Gennady&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2015 11:05:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044527#M20905</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2015-09-24T11:05:00Z</dc:date>
    </item>
    <item>
      <title>If you only need to solve</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044528#M20906</link>
      <description>&lt;P&gt;If you only need to solve simultaneous equations, you do not need to compute the inverse. It is more efficient to do an LU, LL&lt;SUP&gt;T&lt;/SUP&gt; or LDU decomposition and then solve. In your case, it may even be the case that you only need to do the decomposition once and can subsequently use the factors repeatedly to obtain solutions.&lt;/P&gt;

&lt;P&gt;If you have, or can obtain and install, the Intel IPP library, there is a section called "Small Matrices and Realistic Rendering" that you can look up and see if there are routines there that suit your needs. This part of the IPP is "deprecated", but since you have an older version of MKL that may not be an obstacle.&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2015 14:03:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044528#M20906</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2015-09-24T14:03:36Z</dc:date>
    </item>
    <item>
      <title>the original code was written</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044529#M20907</link>
      <description>&lt;P&gt;the original code was written on Fortran 90 but IPP supports only C API.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2015 15:49:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inverse-of-very-small-matrix/m-p/1044529#M20907</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2015-09-24T15:49:44Z</dc:date>
    </item>
  </channel>
</rss>

