<?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 Hi, in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008453#M19114</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;there is a bit misunderstanding here. Just call simple pardiso without changing main parameters like size. You need to set iparm[35]=1 and perm array that must be filled in the following manner: set 1 values for the components that correspond to schur complement matrix and 0 otherwise.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;</description>
    <pubDate>Sun, 12 Jul 2015 08:05:13 GMT</pubDate>
    <dc:creator>Alexander_K_Intel2</dc:creator>
    <dc:date>2015-07-12T08:05:13Z</dc:date>
    <item>
      <title>Computation of the Schur complement in MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008452#M19113</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;

&lt;P&gt;I recently came across a project in which I have to compute the Schur complement of a complex symmetrix matrix. I know that s&lt;SPAN style="line-height: 19.5120010375977px;"&gt;tarting from Intel&lt;/SPAN&gt;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;®&lt;/SPAN&gt;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;&amp;nbsp;MKL 11.2 update 1, &amp;nbsp;MKL supports the computation of Schur complements. However, I have two questions that doesn't seem to have been answered somewhere. Note: I am writing a C code.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;a) Does this functionality supports complex arithmetic? I know that the PARDISO implementation in MKL supports complex arithmetic, but does this apply to the Schur complement computation also?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;b) It is not clear how to tune the parameters in order to obtain the Schur complement via PARDISO. What I am trying is the following :&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;PARDISO(pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase, &amp;amp;sizeSchur, acsr, ia, ja, &amp;amp;idum, &amp;amp;one, iparm, &amp;amp;msglvl, &amp;amp;ddum, SS, &amp;amp;error);&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;where SS is a sizeSchur * sizeSchur complex vector and sizeSchur is the size of the Schur complement. The routine returns error = -1. Is there anyone who can provide an example of how to set the parameters for the above routine? I have seen the documentation provided in intel's website but it was not very helpful for me. I think the iparm vector is fine, I currently set iparm[35] = 1 (I have tried many combinations but none solves my issue).&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;I can provide a real example if the above are not clear. Thanks!&lt;/P&gt;</description>
      <pubDate>Sat, 11 Jul 2015 20:24:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008452#M19113</guid>
      <dc:creator>Vasileios_K_</dc:creator>
      <dc:date>2015-07-11T20:24:09Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008453#M19114</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;there is a bit misunderstanding here. Just call simple pardiso without changing main parameters like size. You need to set iparm[35]=1 and perm array that must be filled in the following manner: set 1 values for the components that correspond to schur complement matrix and 0 otherwise.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jul 2015 08:05:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008453#M19114</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2015-07-12T08:05:13Z</dc:date>
    </item>
    <item>
      <title>Hi Alexander,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008454#M19115</link>
      <description>&lt;P&gt;Hi Alexander,&lt;/P&gt;

&lt;P&gt;Thank you very much for your response. I changed the code according to your advice and indeed, now PARDISO returns error = 0. However, the Schur complement returned is just the zero vector. Thus, just as a follow-up question, I would like your advice on my inputs.&lt;/P&gt;

&lt;P&gt;I set phase = 12 and set the number of right-hand sides to one. Moreover, I provide a solution vector of size s*s, where s is the size of the Schur complement. Regarding the permutation vector you suggested, I provide a vector "perm" of length n (the size of A) in which all values are set to zero except the last s ones, which I set to one.&lt;/P&gt;

&lt;P&gt;All in all, my PARDISO call looks like&lt;/P&gt;

&lt;P&gt;mtype = 3, phase = 12, iparm[35] = 1 (iparm has other values set too)&lt;/P&gt;

&lt;P&gt;PARDISO(pt, &amp;amp;one, &amp;amp;one, &amp;amp;mtype, &amp;amp;phase, &amp;amp;n, a, ia, ja, perm, &amp;amp;one, iparm, &amp;amp;msgvl, &amp;amp;ddum, SS, &amp;amp;error);&lt;/P&gt;

&lt;P&gt;What I actually want to achieve is exactly what takes place in the following link:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/intel-mkl-support-to-new-functionality-schur-complement" target="_blank"&gt;https://software.intel.com/en-us/articles/intel-mkl-support-to-new-functionality-schur-complement&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;If the above look correct, then I probably did some error somewhere before I reach this point.&lt;/P&gt;

&lt;P&gt;Thank you so much for your help!&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jul 2015 20:16:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008454#M19115</guid>
      <dc:creator>Vasileios_K_</dc:creator>
      <dc:date>2015-07-12T20:16:47Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008455#M19116</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Everything looks correct. Could you send reproducer of your problem to me to play with it on my side?&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jul 2015 04:42:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008455#M19116</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2015-07-13T04:42:01Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008456#M19117</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I attach a small working example for a 2D Laplacian matrix. The matrix is loaded, converted to CSR format, and shifted by a complex shift. Then, I compute and factorize the Schur complement.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jul 2015 19:58:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008456#M19117</guid>
      <dc:creator>Vasileios_K_</dc:creator>
      <dc:date>2015-07-13T19:58:52Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008457#M19118</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;what is the status of the bug please?&lt;/P&gt;

&lt;P&gt;With the MKL 2016 (11.3 Update 2) I tested the computation of the Schur complement on a complex matrix and I also obtained zero complex values as mentioned above.&lt;/P&gt;

&lt;P&gt;Thanks in advance for your help.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2017 14:54:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008457#M19118</guid>
      <dc:creator>Fanny_D_</dc:creator>
      <dc:date>2017-11-06T14:54:29Z</dc:date>
    </item>
    <item>
      <title>HI,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008458#M19119</link>
      <description>&lt;P&gt;HI,&lt;/P&gt;

&lt;P&gt;I believe that it is passed on last version of MKL but let me check&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2017 15:32:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008458#M19119</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2017-11-06T15:32:48Z</dc:date>
    </item>
    <item>
      <title>Hi Fanny,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008459#M19120</link>
      <description>&lt;P&gt;Hi Fanny,&lt;/P&gt;

&lt;P&gt;Ok, I've checked your example - the issue that you see is not caused by schur complement matrix but inpur parameters on second call. You set input matrix as zero based but call pardiso with one based (iparm[34] = 0;) Just set iparm[34] to 1 or set iparm[26] and msglvl to 1 to see matrix checker info. By the way, after change iparm[34] to 1 I've got error equal to 0 on second call&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2017 17:42:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008459#M19120</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2017-11-06T17:42:07Z</dc:date>
    </item>
    <item>
      <title>Hi Alex,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008460#M19121</link>
      <description>&lt;P&gt;Hi Alex,&lt;/P&gt;

&lt;P&gt;thanks for your answer.&lt;/P&gt;

&lt;P&gt;But I have another example (please find the attached source files) where iparm[34] is well defined but which does not give good results on the Schur complement of a complex matrix.&lt;/P&gt;

&lt;P&gt;The source file pardiso_schur_real.cpp returns the right real Schur complement:&lt;/P&gt;

&lt;P&gt;-1.800000e+001 0.000000e+000&lt;/P&gt;

&lt;P&gt;0.000000e+000&amp;nbsp;-3.200000e+001&lt;/P&gt;

&lt;P&gt;The source file pardiso_schur_complex.cpp (which corresponds to the same matrix than the real case) returns a zero complex Schur complement.&lt;/P&gt;

&lt;P&gt;I've tested with MKL 2016 (11.3 Update 2).&lt;/P&gt;

&lt;P&gt;Could you please test with the last version and tell me if I made some mistakes?&lt;/P&gt;

&lt;P&gt;Thanks.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2017 14:51:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008460#M19121</guid>
      <dc:creator>Fanny_D_</dc:creator>
      <dc:date>2017-11-07T14:51:22Z</dc:date>
    </item>
    <item>
      <title>Hi Alex,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008461#M19122</link>
      <description>&lt;P&gt;Hi Alex,&lt;/P&gt;

&lt;P&gt;Did you manage to test my program with the last version of MKL?&lt;/P&gt;

&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Nov 2017 10:28:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008461#M19122</guid>
      <dc:creator>Fanny_D_</dc:creator>
      <dc:date>2017-11-10T10:28:47Z</dc:date>
    </item>
    <item>
      <title>I have a case which perfectly</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008462#M19123</link>
      <description>&lt;P&gt;I have a case which perfectly runs for float data (11) and returns results close to machine zero for complex data (13).&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;mtype options:&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;11 -&amp;gt; real and nonsymmetric &lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;13 -&amp;gt; complex and nonsymmetric&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I checked this with MKL-2018 and MKL-2019&lt;/P&gt;&lt;P&gt;Has anything changed in the last versions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2019 09:19:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Computation-of-the-Schur-complement-in-MKL/m-p/1008462#M19123</guid>
      <dc:creator>Shirman__Yuri</dc:creator>
      <dc:date>2019-03-18T09:19:38Z</dc:date>
    </item>
  </channel>
</rss>

