<?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 PARDISO Direct-Iterative Preconditioning: Conflicting Information in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-Direct-Iterative-Preconditioning-Conflicting-Information/m-p/1146529#M26740</link>
    <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;On the &lt;/SPAN&gt;&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-fortran-intel-mkl-pardiso-parallel-direct-sparse-solver-interface" style="font-size: 1em;"&gt;PARDISO overview webpage&lt;/A&gt;&lt;SPAN style="font-size: 1em;"&gt;&amp;nbsp;under the section "&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;Direct-Iterative Preconditioning for Nonsymmetric Linear Systems" a technique to sometimes avoid factorization of the LHS is described. The relevant parameter &lt;/SPAN&gt;&lt;EM style="font-size: 1em;"&gt;iparm(4)&lt;/EM&gt;&lt;SPAN style="font-size: 1em;"&gt;&amp;nbsp;controls this technique.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;The description of this technique implies it is targeted towards non-symmetric linear systems by using the conjugate-gradient squared method. However, referring to the &lt;EM&gt;iparm(4)&lt;/EM&gt; parameter description, I see some conflicting information. It states at the top it uses&amp;nbsp;the conjugate-gradient squared method with LU preconditioning for non-symmetric matrices and regular&amp;nbsp;conjugate-gradient with Cholesky preconditioning for symmetric positive-definite matrices. This is the ideal configuration. But setting &lt;EM&gt;K=2&lt;/EM&gt;&amp;nbsp;states it would use&amp;nbsp;conjugate-gradient squared for symmetric positive definite matrices. This is not ideal.&lt;/P&gt;

&lt;P&gt;What is really being used for positive-definite matrices?&lt;/P&gt;</description>
    <pubDate>Tue, 24 Oct 2017 19:10:51 GMT</pubDate>
    <dc:creator>Matt_C_3</dc:creator>
    <dc:date>2017-10-24T19:10:51Z</dc:date>
    <item>
      <title>PARDISO Direct-Iterative Preconditioning: Conflicting Information</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-Direct-Iterative-Preconditioning-Conflicting-Information/m-p/1146529#M26740</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;On the &lt;/SPAN&gt;&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-fortran-intel-mkl-pardiso-parallel-direct-sparse-solver-interface" style="font-size: 1em;"&gt;PARDISO overview webpage&lt;/A&gt;&lt;SPAN style="font-size: 1em;"&gt;&amp;nbsp;under the section "&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;Direct-Iterative Preconditioning for Nonsymmetric Linear Systems" a technique to sometimes avoid factorization of the LHS is described. The relevant parameter &lt;/SPAN&gt;&lt;EM style="font-size: 1em;"&gt;iparm(4)&lt;/EM&gt;&lt;SPAN style="font-size: 1em;"&gt;&amp;nbsp;controls this technique.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;The description of this technique implies it is targeted towards non-symmetric linear systems by using the conjugate-gradient squared method. However, referring to the &lt;EM&gt;iparm(4)&lt;/EM&gt; parameter description, I see some conflicting information. It states at the top it uses&amp;nbsp;the conjugate-gradient squared method with LU preconditioning for non-symmetric matrices and regular&amp;nbsp;conjugate-gradient with Cholesky preconditioning for symmetric positive-definite matrices. This is the ideal configuration. But setting &lt;EM&gt;K=2&lt;/EM&gt;&amp;nbsp;states it would use&amp;nbsp;conjugate-gradient squared for symmetric positive definite matrices. This is not ideal.&lt;/P&gt;

&lt;P&gt;What is really being used for positive-definite matrices?&lt;/P&gt;</description>
      <pubDate>Tue, 24 Oct 2017 19:10:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-Direct-Iterative-Preconditioning-Conflicting-Information/m-p/1146529#M26740</guid>
      <dc:creator>Matt_C_3</dc:creator>
      <dc:date>2017-10-24T19:10:51Z</dc:date>
    </item>
    <item>
      <title>Hi Matt,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-Direct-Iterative-Preconditioning-Conflicting-Information/m-p/1146530#M26741</link>
      <description>&lt;P&gt;Hi Matt,&lt;/P&gt;

&lt;P&gt;For default setting, regular CG for spd or Hpd; and BiCG which applied CGS for non-symmetric A. However, if you use iparm(4) and set K=2, that means you specify to use CGS for spd. As I know, CG can only apply for symmetric, but (bi)CGS can be applied for both symmetric or non-symmetric. Because, BiCG&amp;nbsp;requires two MVs to extend residual and shadow residual that one multiplication by A and one by A&lt;SUP&gt;T&lt;/SUP&gt;. And if P&lt;SUB&gt;i&lt;/SUB&gt;(A)&amp;nbsp;reduces r0 to smaller matrix r1, will use CGS to operate contraction process twice (compute P&lt;SUB&gt;i&lt;/SUB&gt;&lt;SUP&gt;2&lt;/SUP&gt;(A)r0 ) for convergence.&amp;nbsp;If your are solving problem for&amp;nbsp;very large, and very sparse coefficient matrices, CGS may could provide a quick way for finding x. But if you are performing with small spd matrix, CG would be enough.&lt;/P&gt;

&lt;P&gt;Best regards,&lt;BR /&gt;
	Fiona&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2017 04:05:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-Direct-Iterative-Preconditioning-Conflicting-Information/m-p/1146530#M26741</guid>
      <dc:creator>Zhen_Z_Intel</dc:creator>
      <dc:date>2017-10-30T04:05:04Z</dc:date>
    </item>
  </channel>
</rss>

