<?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 Re: compute an inverse of mxn matrix in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906734#M11783</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334681"&gt;Gennady Fedorov (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;darkfate,&lt;BR /&gt;if i am not mistaken, please pay attention, that for allocation all working arrays for 50k x 50k density matrices, you need at least 3 * 50*10^3* 50*10^3 * sizeof (double) ~ 60 Gb.Therefore your RAM size must be fit to this size.&lt;BR /&gt;--Gennady
&lt;P&gt;&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
I thought with 'O' as one of the arguments, A is reused. At any rate this matrix is definitely too large. An iterative algorithm is probably called for. For large matrices, I would use DGESDD. He might want to try DGESVJ as well. &lt;BR /&gt;</description>
    <pubDate>Tue, 27 Oct 2009 20:28:22 GMT</pubDate>
    <dc:creator>Hanyou_Chu</dc:creator>
    <dc:date>2009-10-27T20:28:22Z</dc:date>
    <item>
      <title>compute an inverse of mxn matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906731#M11780</link>
      <description>Hello,&lt;BR /&gt;i dont know if im right here for this question.&lt;BR /&gt;I installed the Intel Fortran and C++ Compiler.&lt;BR /&gt;&lt;BR /&gt;I have C code where Array N[][] is a mxn Matrix.&lt;BR /&gt;&lt;BR /&gt;What do i need to change in the Code to get the thre (u,s,v) matrices from the SVD Algorithm?&lt;BR /&gt;What algorithm should i use on i7 920 for big ~50kx50k nonsparse matrices?&lt;BR /&gt;&lt;BR /&gt;Thank you for the answers.</description>
      <pubDate>Wed, 21 Oct 2009 13:42:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906731#M11780</guid>
      <dc:creator>darkfate</dc:creator>
      <dc:date>2009-10-21T13:42:46Z</dc:date>
    </item>
    <item>
      <title>Re: compute an inverse of mxn matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906732#M11781</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;First,I would encourage you to initialize the matrix data in column-major order. If you initialize it in row-major order (as it's convinientin C), then you'll need to transpose your matrix before calling MKL. Also, you'll need to allocate space for all the ouput and working arrays.&lt;BR /&gt;&lt;BR /&gt;Second, call dgesvd function (if your matrix is double precision). The best idea to get help on how to call it is to refer to the MKL LAPACK Examples web pages: &lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/lapack/mkl_lapack_examples/index.htm" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/lapack/mkl_lapack_examples/index.htm&lt;/A&gt;&lt;BR /&gt;You may also find detailed information on dgesvd in the MKL manual.&lt;BR /&gt;&lt;BR /&gt;Then, you'll have all the singular values and vectors in corresponding arrays.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Michael.</description>
      <pubDate>Fri, 23 Oct 2009 13:41:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906732#M11781</guid>
      <dc:creator>Michael_C_Intel4</dc:creator>
      <dc:date>2009-10-23T13:41:43Z</dc:date>
    </item>
    <item>
      <title>Re: compute an inverse of mxn matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906733#M11782</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/337852"&gt;Michael Chuvelev (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;&lt;BR /&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;First,I would encourage you to initialize the matrix data in column-major order. If you initialize it in row-major order (as it's convinientin C), then you'll need to transpose your matrix before calling MKL. Also, you'll need to allocate space for all the ouput and working arrays.&lt;BR /&gt;&lt;BR /&gt;Second, call dgesvd function (if your matrix is double precision). The best idea to get help on how to call it is to refer to the MKL LAPACK Examples web pages: &lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/lapack/mkl_lapack_examples/index.htm" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/lapack/mkl_lapack_examples/index.htm&lt;/A&gt;&lt;BR /&gt;You may also find detailed information on dgesvd in the MKL manual.&lt;BR /&gt;&lt;BR /&gt;Then, you'll have all the singular values and vectors in corresponding arrays.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Michael.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;darkfate,&lt;BR /&gt;if i am not mistaken, please pay attention, that for allocation all working arrays for 50k x 50k density matrices, you need at least 3 * 50*10^3* 50*10^3 * sizeof (double) ~ 60 Gb.Therefore your RAM size must be fit to this size.&lt;BR /&gt;--Gennady
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Oct 2009 15:21:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906733#M11782</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2009-10-23T15:21:39Z</dc:date>
    </item>
    <item>
      <title>Re: compute an inverse of mxn matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906734#M11783</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334681"&gt;Gennady Fedorov (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;darkfate,&lt;BR /&gt;if i am not mistaken, please pay attention, that for allocation all working arrays for 50k x 50k density matrices, you need at least 3 * 50*10^3* 50*10^3 * sizeof (double) ~ 60 Gb.Therefore your RAM size must be fit to this size.&lt;BR /&gt;--Gennady
&lt;P&gt;&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
I thought with 'O' as one of the arguments, A is reused. At any rate this matrix is definitely too large. An iterative algorithm is probably called for. For large matrices, I would use DGESDD. He might want to try DGESVJ as well. &lt;BR /&gt;</description>
      <pubDate>Tue, 27 Oct 2009 20:28:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/compute-an-inverse-of-mxn-matrix/m-p/906734#M11783</guid>
      <dc:creator>Hanyou_Chu</dc:creator>
      <dc:date>2009-10-27T20:28:22Z</dc:date>
    </item>
  </channel>
</rss>

