<?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 unsymmetric solver returns wrong answer in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853597#M6721</link>
    <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Jaewon,&lt;BR /&gt;&lt;BR /&gt;many thanks. I also have never used dss, this is my first time :-).&lt;BR /&gt;&lt;BR /&gt;However, have you, or anybody else solved your problem? I am thinking of using pardiso in my app, but I really need to have some assessment how it is robust.&lt;BR /&gt;&lt;BR /&gt;Ondra K.&lt;BR /&gt;</description>
    <pubDate>Tue, 21 Jul 2009 23:15:37 GMT</pubDate>
    <dc:creator>okamenik</dc:creator>
    <dc:date>2009-07-21T23:15:37Z</dc:date>
    <item>
      <title>PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853591#M6715</link>
      <description>1) Go to the following URL and download Zhao2.mtx.&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.cise.ufl.edu/research/sparse/matrices/Zhao/Zhao2.html" target="_blank"&gt;http://www.cise.ufl.edu/research/sparse/matrices/Zhao/Zhao2.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;2) Unzip the attached zip file (pardiso2.tar.gz), compile it, and run.&lt;BR /&gt;&lt;BR /&gt;$ pardiso Zhao2.mtx&lt;BR /&gt;&lt;BR /&gt;3) Check the solution vector (x) printed at the end.&lt;BR /&gt;&lt;BR /&gt;x[0] = -3.0621e+10&lt;BR /&gt;x[1] = 3.24486e+12&lt;BR /&gt;x[2] = -1.00442e+13&lt;BR /&gt;x[3] = 1.00625e+12&lt;BR /&gt;x[4] = 1.77057e+11&lt;BR /&gt;&lt;BR /&gt;However, correct solution shoud be &lt;BR /&gt;&lt;BR /&gt;x[0] = 19.1245&lt;BR /&gt;x[1] = 39.2731&lt;BR /&gt;x[2] = 134.8958&lt;BR /&gt;x[3] = 582.7064&lt;BR /&gt;x[4] = 596.7820&lt;BR /&gt;&lt;BR /&gt;I used mtype = 11 and default parameters. &lt;BR /&gt;&lt;BR /&gt;iparm[0] = 1;&lt;BR /&gt; iparm[1] = 2;&lt;BR /&gt; iparm[9] = 13; &lt;BR /&gt; iparm[10] = 1; &lt;BR /&gt; iparm[12] = 1;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Is this yet another bug within PARDISO or should I use different parameters ?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 17 Jul 2009 03:27:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853591#M6715</guid>
      <dc:creator>jaewonj</dc:creator>
      <dc:date>2009-07-17T03:27:49Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853592#M6716</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;EM&gt;How about the condition number of this matrix? Did you check it?&lt;/EM&gt;&lt;BR /&gt;&lt;/DIV&gt;
&lt;BR /&gt;</description>
      <pubDate>Fri, 17 Jul 2009 10:00:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853592#M6716</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2009-07-17T10:00:07Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853593#M6717</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334681"&gt;Gennady Fedorov (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;EM&gt;How about the condition number of this matrix? Did you check it?&lt;/EM&gt;&lt;BR /&gt;&lt;/DIV&gt;
&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
Hi Gennady,&lt;BR /&gt;&lt;BR /&gt;Actually I did not check the condition number. However, I checked ...&lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;1&lt;/A&gt;) The matrix A has structural full rank.&lt;BR /&gt;&lt;BR /&gt;2) The residual normusing the solution generated by UMFPACK is&lt;BR /&gt;&lt;BR /&gt;|b - A*x| = 3.623e-12 &lt;BR /&gt;&lt;BR /&gt;while the residual normusing PARDISO is&lt;BR /&gt;&lt;BR /&gt;|b - A*x| = 2.7e70 &lt;BR /&gt;&lt;BR /&gt;which clearly suggests that the solution is wrong.&lt;BR /&gt;&lt;BR /&gt;I understand a small conditioner numbersuggests the problem is well posed, but what else can we know from the actual value of the condition nubmer which is approximately 1.0e5 for this case?&lt;BR /&gt;&lt;BR /&gt;Jaewon&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 17 Jul 2009 15:32:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853593#M6717</guid>
      <dc:creator>jaewonj</dc:creator>
      <dc:date>2009-07-17T15:32:32Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853594#M6718</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;I can confirm the similar problem. I have a 10x10 matrix, whose 2-norm condition number is 8.0e5. Not good but not very bad. The right hand side is such that the solution would be a vector of ones. I am using mkl dss, maybe I am doing something wrong.&lt;BR /&gt;&lt;BR /&gt;Here is the c++ program: &lt;A onclick="ndownload('http://software.intel.com/file/21251')"&gt;test_mkl_dss.cpp&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Here is the compile and link command on my linux:&lt;BR /&gt;&lt;BR /&gt;cc -Wall -I/opt/intel/mkl/10.2.1.017/include -o test_mkl_dss test_mkl_dss.cpp -s /opt/intel/mkl/10.2.1.017/lib/32/libmkl_solver_sequential.a -Wl,--start-group /opt/intel/mkl/10.2.1.017/lib/32/libmkl_intel.a /opt/intel/mkl/10.2.1.017/lib/32/libmkl_sequential.a /opt/intel/mkl/10.2.1.017/lib/32/libmkl_core.a -Wl,--end-group -lpthread -lstdc++&lt;BR /&gt;&lt;BR /&gt;Here is a matlab session showing the solution, condition number and residual:&lt;A onclick="ndownload('http://software.intel.com/file/21252')"&gt; matlab-session.txt&lt;/A&gt;&lt;A onclick="ndownload('http://software.intel.com/file/21251')"&gt; &lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Here is the matrix: &lt;A onclick="ndownload('http://software.intel.com/file/21250')"&gt;small_bla.mtx&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Many thanks,&lt;BR /&gt;&lt;BR /&gt;Ondra K.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;</description>
      <pubDate>Sun, 19 Jul 2009 22:28:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853594#M6718</guid>
      <dc:creator>okamenik</dc:creator>
      <dc:date>2009-07-19T22:28:27Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853595#M6719</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.intel.com/skins/images/7B13F55A7CE623EF42E69096FA81A3A1/2021_redesign/images/image_not_found.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;Ondra, I never used DSS interface before so I don't know what is exactly going on but I found PARDISO interface produces a correct answer.&lt;BR /&gt;&lt;BR /&gt;Jaewon&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 20 Jul 2009 16:55:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853595#M6719</guid>
      <dc:creator>jaewonj</dc:creator>
      <dc:date>2009-07-20T16:55:21Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853596#M6720</link>
      <description>&lt;BR /&gt;Hi Ondra, &lt;BR /&gt;&lt;BR /&gt;Jaewon is right. PARDISO successfully solves your problem when we set iparm[12]=1 (matching is ON). This parameter is used specifically for highly indefinite matrices. Another option you could use is just increasing the value of iparam[9] (pivot perturbation value) from 1.0e13 (default) to 1.0E10. It's turned out that it works fine.&lt;BR /&gt;&lt;BR /&gt;Regarding the problem of Jaewon, we found out that the matching, on the contrary,is a reason of getting incorrect answers. (Switching it OFF resolves the issue).We're investigating either this is a bug or specific behavior of algorithm for this matrix.&lt;BR /&gt;&lt;BR /&gt;Generally, solving of hilgly indefinite matrices with big condition numbers could lead to computational problems and at first you should try different approaches available in PARDISO for such cases (as matching, scaling, pivot perturbation and so on). Possibly, it will help you to solve the problem.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Konstantin</description>
      <pubDate>Tue, 21 Jul 2009 07:20:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853596#M6720</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2009-07-21T07:20:47Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853597#M6721</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Jaewon,&lt;BR /&gt;&lt;BR /&gt;many thanks. I also have never used dss, this is my first time :-).&lt;BR /&gt;&lt;BR /&gt;However, have you, or anybody else solved your problem? I am thinking of using pardiso in my app, but I really need to have some assessment how it is robust.&lt;BR /&gt;&lt;BR /&gt;Ondra K.&lt;BR /&gt;</description>
      <pubDate>Tue, 21 Jul 2009 23:15:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853597#M6721</guid>
      <dc:creator>okamenik</dc:creator>
      <dc:date>2009-07-21T23:15:37Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853598#M6722</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/93785"&gt;Konstantin Arturov (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;&lt;BR /&gt;Hi Ondra, &lt;BR /&gt;&lt;BR /&gt;Jaewon is right. PARDISO successfully solves your problem when we set iparm[12]=1 (matching is ON). This parameter is used specifically for highly indefinite matrices. Another option you could use is just increasing the value of iparam[9] (pivot perturbation value) from 1.0e13 (default) to 1.0E10. It's turned out that it works fine.&lt;BR /&gt;&lt;BR /&gt;Regarding the problem of Jaewon, we found out that the matching, on the contrary,is a reason of getting incorrect answers. (Switching it OFF resolves the issue).We're investigating either this is a bug or specific behavior of algorithm for this matrix.&lt;BR /&gt;&lt;BR /&gt;Generally, solving of hilgly indefinite matrices with big condition numbers could lead to computational problems and at first you should try different approaches available in PARDISO for such cases (as matching, scaling, pivot perturbation and so on). Possibly, it will help you to solve the problem.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Konstantin&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Konstantin,&lt;BR /&gt;&lt;BR /&gt;many thanks. I guess that passing options to pardiso cannot be done through dss interface. Correct?&lt;BR /&gt;&lt;BR /&gt;Ondra K.&lt;BR /&gt;</description>
      <pubDate>Tue, 21 Jul 2009 23:24:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853598#M6722</guid>
      <dc:creator>okamenik</dc:creator>
      <dc:date>2009-07-21T23:24:27Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO unsymmetric solver returns wrong answer</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853599#M6723</link>
      <description>&lt;BR /&gt;Ondra,&lt;BR /&gt;&lt;BR /&gt;I'm sorry for the late reply.&lt;BR /&gt;&lt;BR /&gt;No, DSS interface was designed to provide the simpest way to call PARDISO functionality (that's its advantage), but it has no flexibility of PARDISO interface. So, if you want to vary any parameters - you should use PARDISO interface. In fact, solving highly indefinite matrices you may need tochange some parametersto obtain correct solution. For PARDISO, they are:&lt;BR /&gt;iparm[9] - perturbation value&lt;BR /&gt;iparm[10] - scaling&lt;BR /&gt;iparm[12] - matching&lt;BR /&gt;&lt;BR /&gt;For your test, there are two ways to solve the matrix:&lt;BR /&gt;1) increase iparm[9] up to 1.0E-10&lt;BR /&gt;2) set iparm[12]=1&lt;BR /&gt;&lt;BR /&gt;From our side, we are investigatingpossible reasonsof such computational behaviorof PARDISO for your 10x10 matrix and for the matrix Zhao.mtx provided by Jaewon.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Konstantin</description>
      <pubDate>Fri, 24 Jul 2009 10:40:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-unsymmetric-solver-returns-wrong-answer/m-p/853599#M6723</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2009-07-24T10:40:05Z</dc:date>
    </item>
  </channel>
</rss>

