<?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: Re:Iterative refinement in Pardiso in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1454336#M34254</link>
    <description>&lt;P&gt;hi &lt;SPAN class="UserName lia-user-name lia-user-rank-Moderator"&gt;&lt;SPAN class="lia-link-navigation lia-page-link lia-link-disabled lia-user-name-link"&gt;&lt;SPAN class="login-bold"&gt;ShanmukhS_Intel&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;i used the code example pardiso_sym_f90.f90 and changed iparm(8) = 10. running the code gives iparm(7) = 4, so 4 iterative refinement steps were done. using iparm(8) = -10 for extended precision also gives iparm(7) = 4 for this example.&lt;/P&gt;
&lt;P&gt;what i want to know is how does pardiso decide when to stop iterative refinement.&lt;/P&gt;
&lt;P&gt;is it based on the change in the solution x at each iterative refinement step, something like |delta_x|/|x_current| or something like what i suggested: &lt;SPAN class="sub_section_element_selectors"&gt;|Ax_current - b|/|b|, so&amp;nbsp;|Ax_current - b| is the norm of the current residual or something else&lt;/SPAN&gt;.&lt;/P&gt;
&lt;P&gt;the documetation doesn't say anything about this. can the user get any information from pardiso about the achieved accuracy, like |delta_x|/|x_current| or&amp;nbsp;&lt;SPAN class="sub_section_element_selectors"&gt;|Ax_current - b|/|b| &lt;/SPAN&gt;or something similar .&lt;/P&gt;
&lt;P&gt;thank you.&lt;/P&gt;</description>
    <pubDate>Wed, 08 Feb 2023 00:09:57 GMT</pubDate>
    <dc:creator>bill_tm</dc:creator>
    <dc:date>2023-02-08T00:09:57Z</dc:date>
    <item>
      <title>Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1452812#M34236</link>
      <description>&lt;P&gt;hi, i'm a beginner with Pardiso in fortran.&lt;/P&gt;
&lt;P&gt;is there a way to get information about the accuracy of the solution x when you do iterative refinement with iparm(8) &amp;lt; 0 (extended precision mode). can you get an estimate of something like |Ax - b|/b/ from&amp;nbsp;Pardiso.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;thank you for any help.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Feb 2023 23:39:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1452812#M34236</guid>
      <dc:creator>bill_tm</dc:creator>
      <dc:date>2023-02-02T23:39:37Z</dc:date>
    </item>
    <item>
      <title>Re: Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1453352#M34243</link>
      <description>&lt;P&gt;sorry typo, should be &lt;SPAN class="sub_section_element_selectors"&gt; |Ax - b|/|b| &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="sub_section_element_selectors"&gt;| | = norm and x = computed solution to Ax = b&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 04 Feb 2023 03:22:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1453352#M34243</guid>
      <dc:creator>bill_tm</dc:creator>
      <dc:date>2023-02-04T03:22:30Z</dc:date>
    </item>
    <item>
      <title>Re:Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1454109#M34248</link>
      <description>&lt;P&gt;Hi Bill,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for posting on Intel Communities.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We would like to request you elaborate on your issue a bit as it helps us understand the issue better.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&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>Tue, 07 Feb 2023 13:47:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1454109#M34248</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-02-07T13:47:46Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1454336#M34254</link>
      <description>&lt;P&gt;hi &lt;SPAN class="UserName lia-user-name lia-user-rank-Moderator"&gt;&lt;SPAN class="lia-link-navigation lia-page-link lia-link-disabled lia-user-name-link"&gt;&lt;SPAN class="login-bold"&gt;ShanmukhS_Intel&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;i used the code example pardiso_sym_f90.f90 and changed iparm(8) = 10. running the code gives iparm(7) = 4, so 4 iterative refinement steps were done. using iparm(8) = -10 for extended precision also gives iparm(7) = 4 for this example.&lt;/P&gt;
&lt;P&gt;what i want to know is how does pardiso decide when to stop iterative refinement.&lt;/P&gt;
&lt;P&gt;is it based on the change in the solution x at each iterative refinement step, something like |delta_x|/|x_current| or something like what i suggested: &lt;SPAN class="sub_section_element_selectors"&gt;|Ax_current - b|/|b|, so&amp;nbsp;|Ax_current - b| is the norm of the current residual or something else&lt;/SPAN&gt;.&lt;/P&gt;
&lt;P&gt;the documetation doesn't say anything about this. can the user get any information from pardiso about the achieved accuracy, like |delta_x|/|x_current| or&amp;nbsp;&lt;SPAN class="sub_section_element_selectors"&gt;|Ax_current - b|/|b| &lt;/SPAN&gt;or something similar .&lt;/P&gt;
&lt;P&gt;thank you.&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2023 00:09:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1454336#M34254</guid>
      <dc:creator>bill_tm</dc:creator>
      <dc:date>2023-02-08T00:09:57Z</dc:date>
    </item>
    <item>
      <title>Re:Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1455798#M34271</link>
      <description>&lt;P&gt;Hi Bill,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for the elaboration on your required details.&lt;/P&gt;&lt;P&gt;The maximum number of iterative refinement steps that the solver performs. The solver performs not more than the absolute value of&amp;nbsp;&lt;SPAN style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;iparm&lt;/SPAN&gt;&lt;SPAN style="font-family: monospace;"&gt;[7]&lt;/SPAN&gt;&amp;nbsp;steps of iterative refinement. The solver might stop the process before the maximum number of steps if&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;a satisfactory level of accuracy of the solution in terms of backward error is achieved,&lt;/LI&gt;&lt;LI&gt;or if it determines that the required accuracy cannot be reached. In this case the solver returns -4 in the&amp;nbsp;&lt;SPAN style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;error&lt;/SPAN&gt;&amp;nbsp;parameter.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The number of executed iterations is reported in&amp;nbsp;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-iface/pardiso-iparm-parameter.html#pardiso-iparm-parameter_IPARM7" rel="noopener noreferrer" target="_blank" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;iparm&lt;/A&gt;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-iface/pardiso-iparm-parameter.html#pardiso-iparm-parameter_IPARM7" rel="noopener noreferrer" target="_blank" style="font-family: monospace;"&gt;[6]&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 14 Feb 2023 18:05:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1455798#M34271</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-02-14T18:05:18Z</dc:date>
    </item>
    <item>
      <title>Re:Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1457586#M34282</link>
      <description>&lt;P&gt;Hi Bill,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;A gentle reminder:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;It had been a while since we heard back from you. Could you please let us know if you need any other information?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 20 Feb 2023 17:29:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1457586#M34282</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-02-20T17:29:46Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1457729#M34283</link>
      <description>&lt;P&gt;hi Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;sorry for delay - had trouble with account.&lt;/P&gt;
&lt;P&gt;you wrote iterative refinement stops when&lt;/P&gt;
&lt;P&gt;* a satisfactory level of accuracy of the solution in terms of backward error is achieved&lt;/P&gt;
&lt;P&gt;i would like to know the formula and errror tolerance used for the backward error check. perhaps this could be documented and the error data and tolererance printed by pardiso when msglvl = 1.&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="sub_section_element_selectors"&gt;thank you&lt;/SPAN&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Feb 2023 00:20:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1457729#M34283</guid>
      <dc:creator>bill_tm</dc:creator>
      <dc:date>2023-02-21T00:20:00Z</dc:date>
    </item>
    <item>
      <title>Re: Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1459727#M34290</link>
      <description>&lt;P&gt;Hi Bill,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I would like to know the formula and error tolerance used for the backward error check.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;This is to kindly inform you that, the default check in iparm&lt;SPAN class="error"&gt;[7]&lt;/SPAN&gt;&amp;nbsp;uses the backward error |r|=|Ax_current - b|, not |delta_x| which is related to the forward error.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt; perhaps this could be documented and the error data and tolererance printed by pardiso when msglvl = 1.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;gt; &lt;/EM&gt;Sure, Thanks for sharing with us the feedback. We have informed the concerned team and will update you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Mar 2023 06:19:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1459727#M34290</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-03-16T06:19:02Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1459941#M34293</link>
      <description>&lt;P&gt;hi Shanmukh.SS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;thank you for accepting my suggestion, i look forward to the changes.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2023 23:26:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1459941#M34293</guid>
      <dc:creator>bill_tm</dc:creator>
      <dc:date>2023-02-27T23:26:50Z</dc:date>
    </item>
    <item>
      <title>Re:Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1461453#M34307</link>
      <description>&lt;P&gt;Hi Bill,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sure! Thanks for accepting. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Have a great day!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 03 Mar 2023 12:41:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1461453#M34307</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-03-03T12:41:01Z</dc:date>
    </item>
    <item>
      <title>Re: Iterative refinement in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1647607#M36720</link>
      <description>&lt;P&gt;&lt;SPAN&gt;We improved iterative refinement feature of oneMKL PARDISO and added optional printing of iterative refinement information in oneMKL 2025.0. More detailed formula for the stopping criteria has been added to the developer reference, &lt;A href="https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-0/pardiso-iparm-parameter.html#IPARM9" target="_blank"&gt;iparm(9)&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thank you again for posting in the forum!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Fengrui&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Dec 2024 18:42:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Iterative-refinement-in-Pardiso/m-p/1647607#M36720</guid>
      <dc:creator>Fengrui</dc:creator>
      <dc:date>2024-12-05T18:42:29Z</dc:date>
    </item>
  </channel>
</rss>

