<?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 Quote:marcsolal wrote: in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069454#M22153</link>
    <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;marcsolal wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I am sorry. &amp;nbsp;I am confused. I understand the Schur complement is a full matrix. This is fine, but I do not understand your answer about triangular matrices. You tell it can be used in the solving step. But what is the solving step doing when the Schur complement is used ?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;In therms from &lt;A href="https://software.intel.com/en-us/articles/intel-mkl-support-to-new-functionality-schur-complement"&gt;this paper&lt;/A&gt;&amp;nbsp;phase 331 solve system with first, lower-triangular matrix, phase 333 with third, upper-triangular matrix&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;marcsolal wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&amp;nbsp;If the solving is done for the full matrix, it means that you need to factorize the Schur complement matrix in the solving step. Am I correct?&amp;nbsp;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Yes and no. If you set iparm[35] to 1 then only schur complement will be computed. If you set it to 2 then pardiso on factorization step will compute all factorized matrix and also will factorized Schur complement matrix.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;marcsolal wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;Also, there is a remark in the documentation about using LAPACK to compute the Schur complement vector for large matrices. What do you call Schur complement vector? Is this the triangular matrices? Or the solution of the system or something else.&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;It is part of vector full size vector that correspond to Schut complement matrix. Actually that's the element of array x for which correspond positions in perm array set to 1.&lt;/P&gt;</description>
    <pubDate>Thu, 03 Nov 2016 04:15:22 GMT</pubDate>
    <dc:creator>Alexander_K_Intel2</dc:creator>
    <dc:date>2016-11-03T04:15:22Z</dc:date>
    <item>
      <title>PARDISO. SCHUR Complement matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069451#M22150</link>
      <description>&lt;P&gt;I would like to use PARDISO to compute the SCHUR complement. I am trying to understand the documentation and I have questions:&lt;/P&gt;

&lt;P&gt;- I understand that the Schur complement matrix is obtained in the solution vector. I had a look on PARDISO 5.0 (not the Intel software) documentation and the SCHUR complement is returned as a sparse matrix. Is MKL PARDISO returning a full matrix or a sparse matrix ? Also which element is where in the matrix.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;- I will probably need to access the full factorization ie the Schur complement but also the other matrices (L11, L21, U11,U12 from the documentation). I understand it is possible to compute these matrices, but how can we access those and in which form.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;- do you have a code example of PARDISO for computation of the SCHUR complement and access to all the matrices.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Thanks a lot.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Marc&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Oct 2016 17:41:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069451#M22150</guid>
      <dc:creator>marcsolal</dc:creator>
      <dc:date>2016-10-28T17:41:59Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069452#M22151</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Please see my comments below&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;- I understand that the Schur complement matrix is obtained in the solution vector. I had a look on PARDISO 5.0 (not the Intel software) documentation and the SCHUR complement is returned as a sparse matrix. Is MKL PARDISO returning a full matrix or a sparse matrix ? Also which element is where in the matrix.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;[akalinki] Current version of MKL Pardiso support schur complement matrix in dense format only&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;- I will probably need to access the full factorization ie the Schur complement but also the other matrices (L11, L21, U11,U12 from the documentation). I understand it is possible to compute these matrices, but how can we access those and in which form.&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;[akalinki] You are correct, in current version of MKL you can handle this matrix via solving step but cannot access it's internal representation&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;- do you have a code example of PARDISO for computation of the SCHUR complement and access to all the matrices.&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;[akalinki] file&amp;nbsp;pardiso_schur_c in general mkl example folder show hot to calcluate schur complement of small matrix&amp;nbsp;&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;Thanks a lot.&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;Marc&lt;/P&gt;</description>
      <pubDate>Fri, 28 Oct 2016 18:35:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069452#M22151</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2016-10-28T18:35:19Z</dc:date>
    </item>
    <item>
      <title>I am sorry.  I am confused. I</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069453#M22152</link>
      <description>&lt;P&gt;I am sorry. &amp;nbsp;I am confused. I understand the Schur complement is a full matrix. This is fine, but I do not understand your answer about triangular matrices. You tell it can be used in the solving step. But what is the solving step doing when the Schur complement is used ? Solving for the full matrix A.X=B or something else. If the solving is done for the full matrix, it means that you need to factorize the Schur complement matrix in the solving step. Am I correct? Also, there is a remark in the documentation about using LAPACK to compute the Schur complement vector for large matrices. What do you call Schur complement vector? Is this the triangular matrices? Or the solution of the system or something else.&lt;/P&gt;

&lt;P&gt;Sorry for asking may be naive questions.&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Oct 2016 18:53:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069453#M22152</guid>
      <dc:creator>marcsolal</dc:creator>
      <dc:date>2016-10-28T18:53:48Z</dc:date>
    </item>
    <item>
      <title>Quote:marcsolal wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069454#M22153</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;marcsolal wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I am sorry. &amp;nbsp;I am confused. I understand the Schur complement is a full matrix. This is fine, but I do not understand your answer about triangular matrices. You tell it can be used in the solving step. But what is the solving step doing when the Schur complement is used ?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;In therms from &lt;A href="https://software.intel.com/en-us/articles/intel-mkl-support-to-new-functionality-schur-complement"&gt;this paper&lt;/A&gt;&amp;nbsp;phase 331 solve system with first, lower-triangular matrix, phase 333 with third, upper-triangular matrix&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;marcsolal wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&amp;nbsp;If the solving is done for the full matrix, it means that you need to factorize the Schur complement matrix in the solving step. Am I correct?&amp;nbsp;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Yes and no. If you set iparm[35] to 1 then only schur complement will be computed. If you set it to 2 then pardiso on factorization step will compute all factorized matrix and also will factorized Schur complement matrix.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;marcsolal wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;Also, there is a remark in the documentation about using LAPACK to compute the Schur complement vector for large matrices. What do you call Schur complement vector? Is this the triangular matrices? Or the solution of the system or something else.&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;It is part of vector full size vector that correspond to Schut complement matrix. Actually that's the element of array x for which correspond positions in perm array set to 1.&lt;/P&gt;</description>
      <pubDate>Thu, 03 Nov 2016 04:15:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069454#M22153</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2016-11-03T04:15:22Z</dc:date>
    </item>
    <item>
      <title>Thanks for the answers. I</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069455#M22154</link>
      <description>&lt;P&gt;Thanks for the answers. I think I need to be more specific. I have a (sparse) linear system with a 4 block matrix and I am trying to eliminate some dof from the system.&lt;/P&gt;

&lt;P&gt;Let say my matrix is &amp;nbsp; A=[A&lt;SUB&gt;11&lt;/SUB&gt;&amp;nbsp;A&lt;SUB&gt;12&lt;/SUB&gt;;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;SUB&gt;2&lt;/SUB&gt;&lt;/SPAN&gt;&lt;SUB&gt;1&lt;/SUB&gt;&lt;SPAN style="font-size: 13.008px;"&gt;&amp;nbsp;A&lt;SUB&gt;2&lt;/SUB&gt;&lt;/SPAN&gt;&lt;SUB&gt;2&lt;/SUB&gt;]&lt;/P&gt;

&lt;P&gt;My right hand side vector is B=[&lt;SPAN style="font-size: 13.008px;"&gt;B&lt;SUB&gt;1&lt;/SUB&gt;;B&lt;SUB&gt;2&lt;/SUB&gt;]&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;And my system is: &amp;nbsp; A&lt;/SPAN&gt;&lt;SUB&gt;11&lt;/SUB&gt;&lt;SPAN style="font-size: 13.008px;"&gt;&amp;nbsp;X&lt;SUB&gt;1&lt;/SUB&gt;+A&lt;/SPAN&gt;&lt;SUB&gt;12&lt;/SUB&gt;X&lt;SUB&gt;2&lt;/SUB&gt;=&lt;SPAN style="font-size: 13.008px;"&gt;B&lt;/SPAN&gt;&lt;SUB&gt;1&lt;/SUB&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;SUB&gt;2&lt;/SUB&gt;&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style="font-size: 10.84px;"&gt;1&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style="font-size: 13.008px;"&gt;&amp;nbsp;X&lt;SUB&gt;1&lt;/SUB&gt;+A&lt;/SPAN&gt;&lt;SUB&gt;22&lt;/SUB&gt;X&lt;SUB&gt;2&lt;/SUB&gt;&lt;SPAN style="font-size: 13.008px;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px;"&gt;B&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style="font-size: 10.84px;"&gt;2&lt;/SPAN&gt;&lt;/SUB&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;I would like to express the system only in function of X&lt;SUB&gt;2&lt;/SUB&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 10.84px;"&gt;I get: (&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px;"&gt;&amp;nbsp;A&lt;SUB&gt;2&lt;/SUB&gt;&lt;/SPAN&gt;&lt;SUB&gt;2&lt;/SUB&gt;-&lt;SPAN style="font-size: 13.008px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;SUB&gt;2&lt;/SUB&gt;&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style="font-size: 10.84px;"&gt;1&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;/SPAN&gt;&lt;SUB&gt;11&lt;/SUB&gt;&lt;SUP&gt;-1&lt;/SUP&gt;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;/SPAN&gt;&lt;SUB&gt;12&lt;/SUB&gt;)&lt;SPAN style="font-size: 13.008px;"&gt;X&lt;/SPAN&gt;&lt;SUB&gt;2&lt;/SUB&gt;=&lt;SPAN style="font-size: 13.008px;"&gt;B&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style="font-size: 10.84px;"&gt;2&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style="font-size: 10.84px;"&gt;-&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;SUB&gt;2&lt;/SUB&gt;&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style="font-size: 10.84px;"&gt;1&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;/SPAN&gt;&lt;SUB&gt;11&lt;/SUB&gt;&lt;SUP&gt;-1&lt;/SUP&gt;&lt;SPAN style="font-size: 13.008px;"&gt;B&lt;/SPAN&gt;&lt;SUB&gt;1&lt;/SUB&gt;&lt;/P&gt;

&lt;P&gt;&lt;SUB&gt;The matrix on the left is the Schur complement matrix and PARDISO should give this. My problem is to be able to update the right hand side.&amp;nbsp;&lt;/SUB&gt;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;SUB&gt;2&lt;/SUB&gt;&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style="font-size: 10.84px;"&gt;1&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style="font-size: 13.008px;"&gt;A&lt;/SPAN&gt;&lt;SUB&gt;11&lt;/SUB&gt;&lt;SUP&gt;-1&lt;/SUP&gt;&lt;SPAN style="font-size: 13.008px;"&gt;B&lt;/SPAN&gt;&lt;SUB&gt;1 can be find from the triangular matrices. But if I do not have access to the triangular matrices, I need to find another way.&lt;/SUB&gt;&lt;/P&gt;

&lt;P&gt;&lt;SUB&gt;I hope I made myself clear.&lt;/SUB&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Nov 2016 14:50:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069455#M22154</guid>
      <dc:creator>marcsolal</dc:creator>
      <dc:date>2016-11-03T14:50:35Z</dc:date>
    </item>
    <item>
      <title>Hi. Looks like there is a</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069456#M22155</link>
      <description>&lt;P&gt;Hi. Looks like there is a trick how it could be calculated without internal matrix data. I attach the photo with my calculations, and I really sorry for quality of this photo - i have only my telephone and paper from my daughter album for drawing :)&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Nov 2016 17:55:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069456#M22155</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2016-11-03T17:55:25Z</dc:date>
    </item>
    <item>
      <title>Now I get it. It was exactly</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069457#M22156</link>
      <description>&lt;P&gt;Now I get it. It was exactly the meaning of my original question. I wanted to know if I can use the triangular matrix independently of the Schur complement matrix. I did not understand the meaning of forward and backward substitution. So the Schur complement matrix is not factorized in steps 331 and 333, which is exactly what I need. I am assuming step 332 in case of Schur complement matrix both factorizes and solves the Schur complement matrix which is a full matrix. It is why the documentation recommends to use Lapack routines to do that.&lt;/P&gt;

&lt;P&gt;Thanks I think I can do what I need now.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Nov 2016 18:41:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069457#M22156</guid>
      <dc:creator>marcsolal</dc:creator>
      <dc:date>2016-11-03T18:41:26Z</dc:date>
    </item>
    <item>
      <title>Hi there,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069458#M22157</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;

&lt;P&gt;I am trying to calculate large Schur complement for a symmetric sparse matrix using MKL PARDISO &lt;STRONG&gt;pardiso_schur_c.c&lt;/STRONG&gt; program.&lt;/P&gt;

&lt;P&gt;My parameters are:&lt;/P&gt;

&lt;P&gt;MKL_INT n = 604034;&lt;/P&gt;

&lt;P&gt;MKL_INT nonz = 2063839;&lt;/P&gt;

&lt;P&gt;If I use the last 500 elements in perm vector = 1 (dimensions of S), then the S matrix is symmetric. If I increase the number of elements, say 1000, I get unsymmetric S.&lt;/P&gt;

&lt;P&gt;What is the content of S? Does it contain the Schur complement, or the upper triangle is different from the lower triangle? Can anybody help me to understand this? Thanks in advance.&lt;/P&gt;

&lt;P&gt;Konstantin&lt;/P&gt;</description>
      <pubDate>Wed, 07 Dec 2016 06:20:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069458#M22157</guid>
      <dc:creator>Konstantin_K_2</dc:creator>
      <dc:date>2016-12-07T06:20:50Z</dc:date>
    </item>
    <item>
      <title>Quote:Konstantin K. wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069459#M22158</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Konstantin K. wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Hi there,&lt;/P&gt;

&lt;P&gt;I am trying to calculate large Schur complement for a symmetric sparse matrix using MKL PARDISO &lt;STRONG&gt;pardiso_schur_c.c&lt;/STRONG&gt; program.&lt;/P&gt;

&lt;P&gt;My parameters are:&lt;/P&gt;

&lt;P&gt;MKL_INT n = 604034;&lt;/P&gt;

&lt;P&gt;MKL_INT nonz = 2063839;&lt;/P&gt;

&lt;P&gt;If I use the last 500 elements in perm vector = 1 (dimensions of S), then the S matrix is symmetric. If I increase the number of elements, say 1000, I get unsymmetric S.&lt;/P&gt;

&lt;P&gt;What is the content of S? Does it contain the Schur complement, or the upper triangle is different from the lower triangle? Can anybody help me to understand this? Thanks in advance.&lt;/P&gt;

&lt;P&gt;Konstantin&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Hello Konstantin,&lt;BR /&gt;
	&lt;BR /&gt;
	Please take a look at the related topic &lt;A href="http://software.intel.com/en-us/articles/intel-mkl-support-to-new-functionality-schur-complement"&gt;&lt;U&gt;&lt;FONT color="#0066cc"&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;A href="http://software.intel.com/en-us/articles/intel-mkl-support-to-new-functionality-schur-complement" target="_blank"&gt;http://software.intel.com/en-us/articles/intel-mkl-support-to-new-functionality-schur-complement&lt;/A&gt;, I suppose it'll be helpful for understanding how Schur complement approach is implemented in MKL Pardiso.&lt;BR /&gt;
	Regarding your question, on the output Schur complement is returned as a general&amp;nbsp;dense matrix.&lt;BR /&gt;
	&lt;BR /&gt;
	Best regards,&lt;BR /&gt;
	Maria&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Dec 2016 08:52:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069459#M22158</guid>
      <dc:creator>MariaZh</dc:creator>
      <dc:date>2016-12-07T08:52:17Z</dc:date>
    </item>
    <item>
      <title>Hi Maria,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069460#M22159</link>
      <description>&lt;P&gt;Hi Maria,&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thank you very much for your response. I understand that the Schur matrix is a dense matrix with dimensions (n_schur,n_schur). I’ve been to the site you’ve suggested but my problem is quite different.&lt;/P&gt;

&lt;P&gt;I have a large symmetric sparse matrix (upper triangle only). The task is to compute Schur complement on A&lt;SUP&gt;22&lt;/SUP&gt; , where A&lt;SUP&gt;22&lt;/SUP&gt; has different size. I have a check for symmetry of the Schur matrix at the end of the program. I’ve noticed that when the dimension of A&lt;SUP&gt;22&lt;/SUP&gt; is 500 x 500, the resulting Schur matrix is symmetric. If I increase the dimension, say 800 x 800, the Schur matrix I get is non-symmetrical. My understanding (and experience) is that if A is symmetric and can be partitioned as&lt;/P&gt;

&lt;P&gt;|A&lt;SUP&gt;11&lt;/SUP&gt;&amp;nbsp;&amp;nbsp; A&lt;SUP&gt;12&lt;/SUP&gt;|, A&lt;SUP&gt;11&lt;/SUP&gt; and A&lt;SUP&gt;22 &lt;/SUP&gt;are invertible, then the Schur matrix, S = A&lt;SUP&gt;22&lt;/SUP&gt; - A&lt;SUP&gt;21&lt;/SUP&gt;(A&lt;SUP&gt;11&lt;/SUP&gt;) &lt;SUP&gt;-1&lt;/SUP&gt;A&lt;SUP&gt;12&lt;/SUP&gt; is always&lt;/P&gt;

&lt;P&gt;|A&lt;SUP&gt;21&lt;/SUP&gt;&amp;nbsp;&amp;nbsp; A&lt;SUP&gt;22&lt;/SUP&gt; | &amp;nbsp;symmetric.&lt;/P&gt;

&lt;P&gt;My puzzle is why am I getting unsymmetrical result when the size is greater than 500? Is this a sign that something went wrong? Any thoughts? Thanks.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Kind Regards,&lt;/P&gt;

&lt;P&gt;Konstantin&lt;/P&gt;</description>
      <pubDate>Wed, 07 Dec 2016 22:58:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069460#M22159</guid>
      <dc:creator>Konstantin_K_2</dc:creator>
      <dc:date>2016-12-07T22:58:32Z</dc:date>
    </item>
    <item>
      <title>Hi Konstantin,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069461#M22160</link>
      <description>&lt;P&gt;Hi Konstantin,&lt;BR /&gt;
	&lt;BR /&gt;
	Can you please provide a reproducer, so I'll be able to investigate your case carefully?&lt;BR /&gt;
	&lt;BR /&gt;
	Best regards,&lt;BR /&gt;
	Maria&lt;/P&gt;</description>
      <pubDate>Thu, 08 Dec 2016 09:10:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069461#M22160</guid>
      <dc:creator>MariaZh</dc:creator>
      <dc:date>2016-12-08T09:10:03Z</dc:date>
    </item>
    <item>
      <title>Hi Maria,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069462#M22161</link>
      <description>&lt;P&gt;Hi Maria,&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thank you very much for your response and willingness to help. Much appreciated. Let me give you some background of my story so you can understand the problem better.&lt;/P&gt;

&lt;P&gt;My example comes from genetics. We have a matrix, say A that contains coefficients of relationships between animals in a given pedigree (probabilities of common genes coming from parents). This matrix is not easy to compute because it is very large (10M x10M). However, we have a number of animals that are genotyped (their genome is scanned) and we are interested only in those animals.&lt;/P&gt;

&lt;P&gt;Therefore, we can partition A as&lt;/P&gt;

&lt;P&gt;|A11&amp;nbsp; A12|&lt;/P&gt;

&lt;P&gt;|A21 &amp;nbsp;A22| , where A22 contains the animals of interest. We have an algorithm that can calculate A22 relatively inexpensive. However, we need the inverse of A22. Therefore the work to get the A22_inverse is doubled. Luckily, we have a fast algorithm to compute the inverse of A for millions of animals. However, we need only the portion of A_inverse that contains the genotyped animas, e.g. A22_inverse. That’s where the Schur complement from Pardiso comes into the picture. I have the entire A_inverse and I want to calculate A22 part only. Then the test A22 * A22_inverse = I, where I is identity matrix will tell me whether I am doing the right thing. &amp;nbsp;&lt;/P&gt;

&lt;P&gt;My problem is that I get Schur = A22_inverse as an unsymmetrical matrix, which contradicts the theory.&lt;/P&gt;

&lt;P&gt;There is another puzzle I found yesterday. I copied the lower triangle of the Schur matrix to the upper part and I got the required result (A22 * A22_inverse = I). This suggests to me that the program keeps the Schur result in the lower part of the matrix, which contradicts to the description of the matrix in the manual.&lt;/P&gt;

&lt;P&gt;Anyway, attached please find the following files:&lt;/P&gt;

&lt;P&gt;Test_schur.cpp – testing program, so you can reproduce the results.&lt;/P&gt;

&lt;P&gt;Hol.ain – the matrix A_inverse in row compressed sparse format. The first part of the file contains IA and the second JA and A.&lt;/P&gt;

&lt;P&gt;You can disable the use of Blitz array library. It is there because I have a version of the test program that uses Blitz arrays instead of C arrays.&lt;/P&gt;

&lt;P&gt;Sorry for the long story, but I am very excited about using this program. It will save us lots of computing time. However, I need a proof that I am doing the right thing. Once again, thanks.&lt;/P&gt;

&lt;P&gt;Kind regards,&lt;/P&gt;

&lt;P&gt;Konstantin&lt;/P&gt;</description>
      <pubDate>Thu, 08 Dec 2016 23:18:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069462#M22161</guid>
      <dc:creator>Konstantin_K_2</dc:creator>
      <dc:date>2016-12-08T23:18:21Z</dc:date>
    </item>
    <item>
      <title>Konstantin,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069463#M22162</link>
      <description>&lt;P&gt;Konstantin,&lt;BR /&gt;
	&lt;BR /&gt;
	Thank you very&amp;nbsp;much for&amp;nbsp;the answer!&lt;BR /&gt;
	I was able to reproduce your&amp;nbsp;problem and&amp;nbsp;I can see that&amp;nbsp;there is indeed problem with a lower triangular part of the matrix, so I'm working on it.&lt;BR /&gt;
	As a workaround I suggest you to use only upper triangular part of the Schur complement matrix in your computations.&lt;BR /&gt;
	Thanks for the issue.&lt;/P&gt;

&lt;P&gt;Best regards,&lt;BR /&gt;
	Maria&lt;/P&gt;</description>
      <pubDate>Fri, 09 Dec 2016 10:05:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069463#M22162</guid>
      <dc:creator>MariaZh</dc:creator>
      <dc:date>2016-12-09T10:05:33Z</dc:date>
    </item>
    <item>
      <title>Hi Maria,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069464#M22163</link>
      <description>&lt;P&gt;Hi Maria,&lt;/P&gt;

&lt;P&gt;I am glad that you’ve confirmed my findings. Just a comment: I believe that the problem is with the upper triangle, not the lower. In my other test program I copied the lower to the upper triangle and the test A22*A22_inv = I worked.&lt;/P&gt;

&lt;P&gt;Kind regards,&lt;/P&gt;

&lt;P&gt;Konstantin&lt;/P&gt;</description>
      <pubDate>Sun, 11 Dec 2016 22:09:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069464#M22163</guid>
      <dc:creator>Konstantin_K_2</dc:creator>
      <dc:date>2016-12-11T22:09:07Z</dc:date>
    </item>
    <item>
      <title>Hello Konstantin,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069465#M22164</link>
      <description>&lt;P&gt;Hello Konstantin,&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;FONT color="#6a6a6a" size="2"&gt;You're right, of course. My apologies for the mix up.&lt;BR /&gt;
	&lt;BR /&gt;
	Best regards,&lt;BR /&gt;
	Maria.&lt;/FONT&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Dec 2016 09:05:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069465#M22164</guid>
      <dc:creator>MariaZh</dc:creator>
      <dc:date>2016-12-12T09:05:46Z</dc:date>
    </item>
    <item>
      <title>Hi Maria and Konstantin,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069466#M22165</link>
      <description>&lt;P&gt;Hi Maria and Konstantin,&lt;/P&gt;

&lt;P&gt;I'm also having issues with the Schur complement matrix returned from Pardiso not being symmetric when the original (sparse) matrix is symmetric. It seems that one of of the triangular parts of the returned matrix is correct. I'm only passing the one triangle of the original matrix to Pardiso.&lt;/P&gt;

&lt;P&gt;Is it guaranteed that the triangular (seemingly correct) part of the Schur complement is indeed correct?&lt;/P&gt;

&lt;P&gt;I'm using mkl 11.3 update 3. Is this issue fixed in Update 4?&lt;/P&gt;

&lt;P&gt;Best and thanks,&lt;/P&gt;

&lt;P&gt;Jens&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 22:49:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069466#M22165</guid>
      <dc:creator>Jens_E_</dc:creator>
      <dc:date>2016-12-13T22:49:39Z</dc:date>
    </item>
    <item>
      <title>Hi Jens,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069467#M22166</link>
      <description>&lt;P&gt;Hi Jens,&lt;/P&gt;

&lt;P&gt;You are right, currently only one triangular returned by Schur complement is correct and the issue still exist in last version of MKL - MKL2017u1&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2016 04:12:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069467#M22166</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2016-12-16T04:12:10Z</dc:date>
    </item>
    <item>
      <title>I am willing to use the Schur</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069468#M22167</link>
      <description>&lt;P&gt;I am willing to use the Schur functionality of PARADISO on symmetric matrices. Can you please confirm which triangle is the correct one. Am I understanding correctly that the lower triangle is the one to use?&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Marc&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jan 2017 21:17:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069468#M22167</guid>
      <dc:creator>marcsolal</dc:creator>
      <dc:date>2017-01-12T21:17:30Z</dc:date>
    </item>
    <item>
      <title>Hi Marc,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069469#M22168</link>
      <description>&lt;P&gt;Hi Marc,&lt;BR /&gt;
	&lt;BR /&gt;
	You are right, lower triangle of the output matrix is correct and should be used.&lt;BR /&gt;
	&lt;BR /&gt;
	Best regards,&lt;BR /&gt;
	Maria&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jan 2017 21:22:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069469#M22168</guid>
      <dc:creator>MariaZh</dc:creator>
      <dc:date>2017-01-12T21:22:58Z</dc:date>
    </item>
    <item>
      <title>Thanks. I am assuming Schur</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069470#M22169</link>
      <description>&lt;P&gt;Thanks. I am assuming Schur is not working with DSS handle. Right?&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Marc&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jan 2017 21:41:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-SCHUR-Complement-matrix/m-p/1069470#M22169</guid>
      <dc:creator>marcsolal</dc:creator>
      <dc:date>2017-01-12T21:41:15Z</dc:date>
    </item>
  </channel>
</rss>

