<?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 User-defined stopping test in PARDISO in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/User-defined-stopping-test-in-PARDISO/m-p/783070#M1602</link>
    <description>Dear Nikolai,&lt;BR /&gt;&lt;P&gt;&lt;BR /&gt;&amp;gt; Can I use my own stopping test in PARDISO (iterative solver)? &lt;BR /&gt;&lt;BR /&gt;If we are talking about preconditioned CGS or CG from PARDISO, the answer is yes but the convergence criteria is different. Please take a look at the description of iparm(4). Here is a part ofthe description:&lt;BR /&gt;"iparm&lt;SAMP class="codeph"&gt;(4)&lt;/SAMP&gt; has the form &lt;SAMP class="codeph"&gt;iparm(4)&lt;/SAMP&gt;= &lt;SAMP class="codeph"&gt;10*&lt;VAR&gt;L&lt;/VAR&gt;+&lt;VAR&gt;K&lt;/VAR&gt;&lt;/SAMP&gt;. &lt;BR /&gt;...&lt;/P&gt;&lt;P&gt;Value &lt;VAR&gt;L&lt;/VAR&gt;:&lt;/P&gt;&lt;P&gt;The value &lt;VAR&gt;L&lt;/VAR&gt; controls the stopping criterion of the Krylow-Subspace iteration:&lt;/P&gt;&lt;P&gt;&lt;SAMP class="codeph"&gt;eps&lt;SUB class="subb"&gt;&lt;VAR class="tt"&gt;CGS&lt;/VAR&gt;&lt;/SUB&gt; = &lt;VAR class="tt"&gt;10&lt;/VAR&gt;&lt;SUP class="power"&gt;&lt;VAR class="power"&gt;-L&lt;/VAR&gt;&lt;/SUP&gt;&lt;/SAMP&gt; is used in the stopping criterion&lt;/P&gt;&lt;P&gt;&lt;SAMP class="codeph"&gt;||&lt;VAR&gt;dx&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR&gt;i&lt;/VAR&gt;&lt;/SUB&gt;|| / ||&lt;VAR&gt;dx&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR&gt;i&lt;/VAR&gt;&lt;/SUB&gt;|| &amp;lt; eps&lt;SUB class="subb"&gt;&lt;VAR class="tt"&gt;CGS&lt;/VAR&gt;&lt;/SUB&gt;&lt;/SAMP&gt;&lt;/P&gt;&lt;P&gt;with &lt;SAMP class="codeph"&gt;||&lt;VAR&gt;dx&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR class="subb"&gt;i&lt;/VAR&gt;&lt;/SUB&gt;|| = ||inv(&lt;VAR&gt;L&lt;/VAR&gt;*&lt;VAR&gt;U&lt;/VAR&gt;)*&lt;VAR&gt;r&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR&gt;i&lt;/VAR&gt;&lt;/SUB&gt;||&lt;/SAMP&gt; and &lt;VAR&gt;r&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR&gt;i&lt;/VAR&gt;&lt;/SUB&gt; is the residue at iteration &lt;VAR&gt;i&lt;/VAR&gt; of the preconditioned Krylow-Subspace iteration."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; The second part of my question is - Can I change matrix and right hand side coefficients after each internal iteration?&lt;BR /&gt;&lt;BR /&gt;Yes, you can but please take into account the strategy of the PARDISO CGS/CG solver&lt;/P&gt;&lt;P&gt;"Strategy: A maximum number of 150 iterations is fixed with the assumption that the iteration will converge before consuming half the factorization time. Intermediate convergence rates and residue excursions are checked and can terminate the iteration process. If &lt;SAMP class="codeph"&gt;phase =23&lt;/SAMP&gt;, then the factorization for a given &lt;VAR&gt;A&lt;/VAR&gt; is automatically recomputed in cases where the Krylow-Subspace iteration failed, and the corresponding direct solution is returned. Otherwise the solution from the preconditioned Krylow-Subspace iteration is returned. Using &lt;SAMP class="codeph"&gt;phase =33&lt;/SAMP&gt; results in an error message (&lt;SAMP class="codeph"&gt;error =-4&lt;/SAMP&gt;) if the stopping criteria for the Krylow-Subspace iteration can not be reached. More information on the failure can be obtained from iparm&lt;SAMP class="codeph"&gt;(20)&lt;/SAMP&gt;."&lt;BR /&gt;&lt;BR /&gt;All the best&lt;BR /&gt;Sergey&lt;/P&gt;</description>
    <pubDate>Wed, 07 Dec 2011 09:18:02 GMT</pubDate>
    <dc:creator>Sergey_K_Intel1</dc:creator>
    <dc:date>2011-12-07T09:18:02Z</dc:date>
    <item>
      <title>User-defined stopping test in PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/User-defined-stopping-test-in-PARDISO/m-p/783069#M1601</link>
      <description>Hi,

&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I have tried to find an answer at
this forum and documentation, but I didn't find it.&lt;/P&gt;

&lt;P&gt;Can I use my own stopping test in
PARDISO (iterative solver)? For example, I can do this at RCI ISS (cg_mrhs_stop_crt.f file in
examples).&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;

&lt;P&gt;The second part of my question is
- Can I change matrix and right hand side coefficients after each internal
iteration?&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Nikolai&lt;/P&gt;</description>
      <pubDate>Thu, 01 Dec 2011 04:41:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/User-defined-stopping-test-in-PARDISO/m-p/783069#M1601</guid>
      <dc:creator>Nicholas_Bakhtiy</dc:creator>
      <dc:date>2011-12-01T04:41:46Z</dc:date>
    </item>
    <item>
      <title>User-defined stopping test in PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/User-defined-stopping-test-in-PARDISO/m-p/783070#M1602</link>
      <description>Dear Nikolai,&lt;BR /&gt;&lt;P&gt;&lt;BR /&gt;&amp;gt; Can I use my own stopping test in PARDISO (iterative solver)? &lt;BR /&gt;&lt;BR /&gt;If we are talking about preconditioned CGS or CG from PARDISO, the answer is yes but the convergence criteria is different. Please take a look at the description of iparm(4). Here is a part ofthe description:&lt;BR /&gt;"iparm&lt;SAMP class="codeph"&gt;(4)&lt;/SAMP&gt; has the form &lt;SAMP class="codeph"&gt;iparm(4)&lt;/SAMP&gt;= &lt;SAMP class="codeph"&gt;10*&lt;VAR&gt;L&lt;/VAR&gt;+&lt;VAR&gt;K&lt;/VAR&gt;&lt;/SAMP&gt;. &lt;BR /&gt;...&lt;/P&gt;&lt;P&gt;Value &lt;VAR&gt;L&lt;/VAR&gt;:&lt;/P&gt;&lt;P&gt;The value &lt;VAR&gt;L&lt;/VAR&gt; controls the stopping criterion of the Krylow-Subspace iteration:&lt;/P&gt;&lt;P&gt;&lt;SAMP class="codeph"&gt;eps&lt;SUB class="subb"&gt;&lt;VAR class="tt"&gt;CGS&lt;/VAR&gt;&lt;/SUB&gt; = &lt;VAR class="tt"&gt;10&lt;/VAR&gt;&lt;SUP class="power"&gt;&lt;VAR class="power"&gt;-L&lt;/VAR&gt;&lt;/SUP&gt;&lt;/SAMP&gt; is used in the stopping criterion&lt;/P&gt;&lt;P&gt;&lt;SAMP class="codeph"&gt;||&lt;VAR&gt;dx&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR&gt;i&lt;/VAR&gt;&lt;/SUB&gt;|| / ||&lt;VAR&gt;dx&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR&gt;i&lt;/VAR&gt;&lt;/SUB&gt;|| &amp;lt; eps&lt;SUB class="subb"&gt;&lt;VAR class="tt"&gt;CGS&lt;/VAR&gt;&lt;/SUB&gt;&lt;/SAMP&gt;&lt;/P&gt;&lt;P&gt;with &lt;SAMP class="codeph"&gt;||&lt;VAR&gt;dx&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR class="subb"&gt;i&lt;/VAR&gt;&lt;/SUB&gt;|| = ||inv(&lt;VAR&gt;L&lt;/VAR&gt;*&lt;VAR&gt;U&lt;/VAR&gt;)*&lt;VAR&gt;r&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR&gt;i&lt;/VAR&gt;&lt;/SUB&gt;||&lt;/SAMP&gt; and &lt;VAR&gt;r&lt;/VAR&gt;&lt;SUB class="subb"&gt;&lt;VAR&gt;i&lt;/VAR&gt;&lt;/SUB&gt; is the residue at iteration &lt;VAR&gt;i&lt;/VAR&gt; of the preconditioned Krylow-Subspace iteration."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; The second part of my question is - Can I change matrix and right hand side coefficients after each internal iteration?&lt;BR /&gt;&lt;BR /&gt;Yes, you can but please take into account the strategy of the PARDISO CGS/CG solver&lt;/P&gt;&lt;P&gt;"Strategy: A maximum number of 150 iterations is fixed with the assumption that the iteration will converge before consuming half the factorization time. Intermediate convergence rates and residue excursions are checked and can terminate the iteration process. If &lt;SAMP class="codeph"&gt;phase =23&lt;/SAMP&gt;, then the factorization for a given &lt;VAR&gt;A&lt;/VAR&gt; is automatically recomputed in cases where the Krylow-Subspace iteration failed, and the corresponding direct solution is returned. Otherwise the solution from the preconditioned Krylow-Subspace iteration is returned. Using &lt;SAMP class="codeph"&gt;phase =33&lt;/SAMP&gt; results in an error message (&lt;SAMP class="codeph"&gt;error =-4&lt;/SAMP&gt;) if the stopping criteria for the Krylow-Subspace iteration can not be reached. More information on the failure can be obtained from iparm&lt;SAMP class="codeph"&gt;(20)&lt;/SAMP&gt;."&lt;BR /&gt;&lt;BR /&gt;All the best&lt;BR /&gt;Sergey&lt;/P&gt;</description>
      <pubDate>Wed, 07 Dec 2011 09:18:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/User-defined-stopping-test-in-PARDISO/m-p/783070#M1602</guid>
      <dc:creator>Sergey_K_Intel1</dc:creator>
      <dc:date>2011-12-07T09:18:02Z</dc:date>
    </item>
  </channel>
</rss>

