<?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:Pardiso for interior point method in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272329#M31171</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&amp;nbsp;&lt;I&gt;Does Pardiso support Cholesky-like factorization for symmetric quasi-definite matrices?&lt;/I&gt;&lt;/P&gt;&lt;P&gt;Yes. Pardiso supports this functionality. The solver first computes a symmetric fill-in reducing permutation P based on either the minimum degree algorithm or the nested dissection algorithm from the METIS package (both included with Intel® oneAPI Math Kernel Library), followed by the parallel left-right looking numerical Cholesky factorization of PAPT = LLT for symmetric positive-definite matrices, or PAPT = LDLT for symmetric indefinite matrices. &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please refer to the link below for further reference:&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-interface.html" target="_blank"&gt;https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-interface.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&lt;I&gt;Is there any documentation available to understand how to use Pardiso for interior point method?&amp;nbsp;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&lt;I&gt; &lt;/I&gt;Use iparm[10] = 1 (scaling) and iparm[12] = 1 (matching) for highly indefinite symmetric matrices.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please refer to the link below for further reference:&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-interface/pardiso-iparm-parameter.html" target="_blank"&gt;https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-interface/pardiso-iparm-parameter.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Rajesh.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Fri, 09 Apr 2021 10:06:29 GMT</pubDate>
    <dc:creator>MRajesh_intel</dc:creator>
    <dc:date>2021-04-09T10:06:29Z</dc:date>
    <item>
      <title>Pardiso for interior point method</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272136#M31169</link>
      <description>&lt;P&gt;Hi all. I am writing an interior point algorithm for linear programming and trying to use Pardiso as the linear system solver. I am new to the Pardiso and have some questions:&lt;/P&gt;
&lt;P&gt;- I want to apply Cholesky factorization for a matrix AA^T. CHOLMOD (a popular Cholesky factorization subroutine, but does not support multi-core computing) allows me to factorize AA^T without directly form the matrix AA^T, that is I can do something like '&lt;EM&gt;cholesky(A, args)'&lt;/EM&gt; and I don't need to compute AA^T. I wonder if Pardiso also supports this functionality? Or I must form the matrix AA^T by myself and then feed it to Pardiso?&lt;/P&gt;
&lt;P&gt;- Does Pardiso support Cholesky-like factorization for symmetric quasi-definite matrices?&lt;/P&gt;
&lt;P&gt;- It seems that Pardiso is widely used for interior point method. Is there any documentation available to understand how to use Pardiso for interior point method?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your time!&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;P&gt;Huang Fang&lt;/P&gt;</description>
      <pubDate>Thu, 08 Apr 2021 19:08:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272136#M31169</guid>
      <dc:creator>hgfang</dc:creator>
      <dc:date>2021-04-08T19:08:58Z</dc:date>
    </item>
    <item>
      <title>Re:Pardiso for interior point method</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272329#M31171</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&amp;nbsp;&lt;I&gt;Does Pardiso support Cholesky-like factorization for symmetric quasi-definite matrices?&lt;/I&gt;&lt;/P&gt;&lt;P&gt;Yes. Pardiso supports this functionality. The solver first computes a symmetric fill-in reducing permutation P based on either the minimum degree algorithm or the nested dissection algorithm from the METIS package (both included with Intel® oneAPI Math Kernel Library), followed by the parallel left-right looking numerical Cholesky factorization of PAPT = LLT for symmetric positive-definite matrices, or PAPT = LDLT for symmetric indefinite matrices. &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please refer to the link below for further reference:&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-interface.html" target="_blank"&gt;https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-interface.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&lt;I&gt;Is there any documentation available to understand how to use Pardiso for interior point method?&amp;nbsp;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&lt;I&gt; &lt;/I&gt;Use iparm[10] = 1 (scaling) and iparm[12] = 1 (matching) for highly indefinite symmetric matrices.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please refer to the link below for further reference:&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-interface/pardiso-iparm-parameter.html" target="_blank"&gt;https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-interface/pardiso-iparm-parameter.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Rajesh.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 09 Apr 2021 10:06:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272329#M31171</guid>
      <dc:creator>MRajesh_intel</dc:creator>
      <dc:date>2021-04-09T10:06:29Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Pardiso for interior point method</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272441#M31174</link>
      <description>&lt;P&gt;Thanks for your reply, it is very helpful.&lt;/P&gt;</description>
      <pubDate>Fri, 09 Apr 2021 18:10:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272441#M31174</guid>
      <dc:creator>hgfang</dc:creator>
      <dc:date>2021-04-09T18:10:05Z</dc:date>
    </item>
    <item>
      <title>Re: Pardiso for interior point method</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272444#M31175</link>
      <description>&lt;P&gt;Hello!&lt;/P&gt;
&lt;P&gt;1) About A * A^T.&lt;/P&gt;
&lt;P&gt;PARDISO does not support the case when the input matrix is a symmetric product A A^T. So, to use PARDISO, you would need to create A*A^T as a CSR matrix (e.g. using mkl_sparse_syrk).&lt;/P&gt;
&lt;P&gt;But, there is another approach using QR, and we have separate Sparse QR functionality on oneMKL. See, e.g.&amp;nbsp;&lt;A href="https://math.stackexchange.com/questions/2547431/cholesky-decomposition-for-aat" target="_blank"&gt;https://math.stackexchange.com/questions/2547431/cholesky-decomposition-for-aat&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;You can compute QR of A^T and then A*A^T = RQ^T * QR = R^T R = your triangular decomposition as R is upper triangular. I am not sure, but it is possible this is exactly what happens in the original CHOLMOD by Tim Davis for A * A^T.&lt;/P&gt;
&lt;P&gt;For Sparse QR in oneMKL, see&amp;nbsp;&lt;A href="https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/blas-and-sparse-blas-routines/sparse-qr-routines.html" target="_blank"&gt;https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/blas-and-sparse-blas-routines/sparse-qr-routines.html&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;2) About interior point method, as&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/154738"&gt;@MRajesh_intel&lt;/a&gt;&amp;nbsp; mentioned, you can use matching and scaling, also change the pivoting strategy and play with iterative refinement (#steps and possibly extended precision residual computation).&lt;/P&gt;
&lt;P&gt;I don't think we have a dedicated document at the moment which describes specificallythe knobs in PARDISO which can be used for interior point problems. It is just a question of increasing numerical stability while retaining solution accuracy which is regularly done for general badly conditioned problems (I guess your IP problems are of this kind as well).&lt;/P&gt;
&lt;P&gt;Best,&lt;BR /&gt;Kirill&lt;/P&gt;</description>
      <pubDate>Fri, 09 Apr 2021 18:22:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272444#M31175</guid>
      <dc:creator>Kirill_V_Intel</dc:creator>
      <dc:date>2021-04-09T18:22:21Z</dc:date>
    </item>
    <item>
      <title>Re: Pardiso for interior point method</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272447#M31176</link>
      <description>&lt;P&gt;Thanks, your reply on handling AA^T is very useful to me. I appreciate your help!&lt;/P&gt;</description>
      <pubDate>Fri, 09 Apr 2021 18:27:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1272447#M31176</guid>
      <dc:creator>hgfang</dc:creator>
      <dc:date>2021-04-09T18:27:55Z</dc:date>
    </item>
    <item>
      <title>Re:Pardiso for interior point method</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1273805#M31195</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Can we go ahead and close this thread since your issue has been resolved?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Rajesh.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 15 Apr 2021 10:54:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1273805#M31195</guid>
      <dc:creator>MRajesh_intel</dc:creator>
      <dc:date>2021-04-15T10:54:15Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Pardiso for interior point method</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1273925#M31196</link>
      <description>&lt;P&gt;Yes, thanks for your help!&lt;/P&gt;</description>
      <pubDate>Thu, 15 Apr 2021 17:57:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1273925#M31196</guid>
      <dc:creator>hgfang</dc:creator>
      <dc:date>2021-04-15T17:57:38Z</dc:date>
    </item>
    <item>
      <title>Re:Pardiso for interior point method</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1274092#M31197</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for the confirmation!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt; As this issue has been resolved, we will no longer respond to this thread.&lt;/P&gt;&lt;P&gt; If you require any additional assistance from Intel, please start a new thread.&lt;/P&gt;&lt;P&gt; Any further interaction in this thread will be considered community only.&lt;/P&gt;&lt;P&gt; Have a Good day.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Rajesh&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Apr 2021 07:11:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-for-interior-point-method/m-p/1274092#M31197</guid>
      <dc:creator>MRajesh_intel</dc:creator>
      <dc:date>2021-04-16T07:11:54Z</dc:date>
    </item>
  </channel>
</rss>

