<?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: Sparse least squares? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-least-squares/m-p/850927#M6565</link>
    <description>&lt;BR /&gt;Hi!&lt;BR /&gt;&lt;BR /&gt;You can use MKL LAPACK to solve a least squares problem, but in this case you should convert your data from sparse format into dense one. This approach leads to extensive usage of memory, so it is limited by the size of physical memory and size of solved task. &lt;BR /&gt;To solve this problem in sparse format, you can use SpaseBLAS functions to compute A^T A and A^T b. For example you can use mkl_?csrmm function to compute matrix-matrix product in the CSR format and mkl_?csrgemv to compute matrix-vector product (also in CSR format, see MKL manual). Then MKL PARDISO (or DSS  simplified interface to PARDISO) could be used to solve obtained system of equations. Note that PARDISO demonstrated good scalability on shared memory systems.&lt;BR /&gt;&lt;BR /&gt;- Best regards, Sergey&lt;BR /&gt;</description>
    <pubDate>Wed, 11 Feb 2009 10:32:01 GMT</pubDate>
    <dc:creator>Sergey_P_Intel2</dc:creator>
    <dc:date>2009-02-11T10:32:01Z</dc:date>
    <item>
      <title>Sparse least squares?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-least-squares/m-p/850926#M6564</link>
      <description>So, I was wondering what the best way to solve a sparse least squares problem (Ax=b) with the MKL is.&lt;BR /&gt;The two ways that I can see are:&lt;BR /&gt;1 - use LAPACK (which I don't believe is sparse, so probably not usable) &lt;BR /&gt;2 - compute ATAx=ATb sparsely (perhaps using sparse BLAS?) and then use one of the sparse solvers, like PARDISO or dss.&lt;BR /&gt;&lt;BR /&gt;I don't have a lot of applied math experience, so if there's some better way, I would love to hear it. Right now I'm using CSparse's qr solver, looking to see if there's a simple way to get better performance.&lt;BR /&gt;&lt;BR /&gt;Thanks</description>
      <pubDate>Mon, 02 Feb 2009 18:49:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-least-squares/m-p/850926#M6564</guid>
      <dc:creator>tfinniga</dc:creator>
      <dc:date>2009-02-02T18:49:36Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse least squares?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-least-squares/m-p/850927#M6565</link>
      <description>&lt;BR /&gt;Hi!&lt;BR /&gt;&lt;BR /&gt;You can use MKL LAPACK to solve a least squares problem, but in this case you should convert your data from sparse format into dense one. This approach leads to extensive usage of memory, so it is limited by the size of physical memory and size of solved task. &lt;BR /&gt;To solve this problem in sparse format, you can use SpaseBLAS functions to compute A^T A and A^T b. For example you can use mkl_?csrmm function to compute matrix-matrix product in the CSR format and mkl_?csrgemv to compute matrix-vector product (also in CSR format, see MKL manual). Then MKL PARDISO (or DSS  simplified interface to PARDISO) could be used to solve obtained system of equations. Note that PARDISO demonstrated good scalability on shared memory systems.&lt;BR /&gt;&lt;BR /&gt;- Best regards, Sergey&lt;BR /&gt;</description>
      <pubDate>Wed, 11 Feb 2009 10:32:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-least-squares/m-p/850927#M6565</guid>
      <dc:creator>Sergey_P_Intel2</dc:creator>
      <dc:date>2009-02-11T10:32:01Z</dc:date>
    </item>
  </channel>
</rss>

