<?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:Meysam J. wrote: in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920222#M12936</link>
    <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Meysam J. wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;...the resulting matrix C has the same structure as &lt;S&gt;A&lt;/S&gt; B.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Note the correction A -&amp;gt; B. It is possible that A has different off-diagonal entries than B.&lt;/P&gt;</description>
    <pubDate>Thu, 28 Nov 2013 13:41:00 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2013-11-28T13:41:00Z</dc:date>
    <item>
      <title>SSOR preconditioner using RCI</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920214#M12928</link>
      <description>&lt;DIV class="forum-post-content"&gt;
	&lt;DIV class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;
		&lt;DIV class="field-items"&gt;
			&lt;DIV class="field-item even"&gt;
				&lt;P&gt;Hey Guys,&lt;/P&gt;

				&lt;P&gt;I have a problem with impelementing SSOR precondtioner using RCI and hope you can help me with that.&lt;/P&gt;

				&lt;P&gt;I have written a cg solver using RCI for a symmetric matrix that is stored in CSR format 3 array version. I have also implemented the jacobi preconditioner and it works fine. Now I want to implement SSOR but unfortunately I am lost somehow. There is an example of SSOR in MKL example directory, but in that example the SSOR is implemented in a loop which I don't know why!&lt;/P&gt;

				&lt;P&gt;Here is the SSOR that I am aware of.&lt;/P&gt;

				&lt;P&gt;Let's say M is the preconditioner which works as follows:&lt;/P&gt;

				&lt;P&gt;M rho = r&amp;nbsp;&amp;nbsp; (eq.1)&lt;/P&gt;

				&lt;P&gt;where r is the current residual ( stored in &amp;amp;tmp[2n] in RCI) and rho is the modified residual (shall be stored in &amp;amp;tmp[3n] in RCI)&lt;/P&gt;

				&lt;P&gt;M is defined as follow [SAAD 2002]&lt;/P&gt;

				&lt;P&gt;M = 1/(w(2-w)) (D+wL) D^-1 (D+wU)&lt;/P&gt;

				&lt;P&gt;where&lt;/P&gt;

				&lt;P&gt;w = relaxation parameter 0&amp;lt;w&amp;lt;2&lt;/P&gt;

				&lt;P&gt;U = is the upper part of the matrix A&lt;/P&gt;

				&lt;P&gt;L = the lower part of the matrix A&lt;/P&gt;

				&lt;P&gt;D = diagonal of the matrix A&lt;/P&gt;

				&lt;P&gt;so A = L+D+U and since A is symmetric L= U'&lt;/P&gt;

				&lt;P&gt;To solve the eq. 1 the following is suggested&amp;nbsp;&lt;/P&gt;

				&lt;P&gt;Q = 1/(w(2-w)) (D+wL) D^-1&lt;/P&gt;

				&lt;P&gt;G = (D+wU)&lt;/P&gt;

				&lt;P&gt;1. Solve Q z = r&lt;/P&gt;

				&lt;P&gt;2. Solve G rho = z&lt;/P&gt;

				&lt;P&gt;To perform the above steps we need to triangular solvers. Now my question, what function from mkl should I use to this end? Is it necessary to build Q and G explicitly or the mkl functions can do so?&lt;/P&gt;

				&lt;P&gt;I would be happy if somebody can give me some hints here.&lt;/P&gt;

				&lt;P&gt;With best regards.&lt;/P&gt;

				&lt;P&gt;Meysam&lt;/P&gt;
			&lt;/DIV&gt;
		&lt;/DIV&gt;
	&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 26 Nov 2013 14:36:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920214#M12928</guid>
      <dc:creator>Meysam_J_</dc:creator>
      <dc:date>2013-11-26T14:36:23Z</dc:date>
    </item>
    <item>
      <title>Quote:Meysam J. wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920215#M12929</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Meysam J. wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Hey Guys,&lt;/P&gt;

&lt;P&gt;I have a problem with impelementing SSOR precondtioner using RCI and hope you can help me with that.&lt;/P&gt;

&lt;P&gt;I have written a cg solver using RCI for a symmetric matrix that is stored in CSR format 3 array version. I have also implemented the jacobi preconditioner and it works fine. Now I want to implement SSOR but unfortunately I am lost somehow. There is an example of SSOR in MKL example directory, but in that example the SSOR is implemented in a loop which I don't know why!&lt;/P&gt;

&lt;P&gt;Here is the SSOR that I am aware of.&lt;/P&gt;

&lt;P&gt;Let's say M is the preconditioner which works as follows:&lt;/P&gt;

&lt;P&gt;M rho = r&amp;nbsp;&amp;nbsp; (eq.1)&lt;/P&gt;

&lt;P&gt;where r is the current residual ( stored in &amp;amp;tmp[2n] in RCI) and rho is the modified residual (shall be stored in &amp;amp;tmp[3n] in RCI)&lt;/P&gt;

&lt;P&gt;M is defined as follow [SAAD 2002]&lt;/P&gt;

&lt;P&gt;M = 1/(w(2-w)) (D+wL) D^-1 (D+wU)&lt;/P&gt;

&lt;P&gt;where&lt;/P&gt;

&lt;P&gt;w = relaxation parameter 0&amp;lt;w&amp;lt;2&lt;/P&gt;

&lt;P&gt;U = is the upper part of the matrix A&lt;/P&gt;

&lt;P&gt;L = the lower part of the matrix A&lt;/P&gt;

&lt;P&gt;D = diagonal of the matrix A&lt;/P&gt;

&lt;P&gt;so A = L+D+U and since A is symmetric L= U'&lt;/P&gt;

&lt;P&gt;To solve the eq. 1 the following is suggested&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Q = 1/(w(2-w)) (D+wL) D^-1&lt;/P&gt;

&lt;P&gt;G = (D+wU)&lt;/P&gt;

&lt;P&gt;1. Solve Q z = r&lt;/P&gt;

&lt;P&gt;2. Solve G rho = z&lt;/P&gt;

&lt;P&gt;To perform the above steps we need to triangular solvers. Now my question, what function from mkl should I use to this end? Is it necessary to build Q and G explicitly or the mkl functions can do so?&lt;/P&gt;

&lt;P&gt;I would be happy if somebody can give me some hints here.&lt;/P&gt;

&lt;P&gt;With best regards.&lt;/P&gt;

&lt;P&gt;Meysam&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Meysam&lt;/P&gt;</description>
      <pubDate>Tue, 26 Nov 2013 14:38:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920215#M12929</guid>
      <dc:creator>Meysam_J_</dc:creator>
      <dc:date>2013-11-26T14:38:00Z</dc:date>
    </item>
    <item>
      <title>Hi Guys agian,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920216#M12930</link>
      <description>&lt;P&gt;Hi Guys agian,&lt;/P&gt;

&lt;P&gt;Let me ask my question as the following:&lt;/P&gt;

&lt;P&gt;Is there any function in mkl to solve the following equation system:&lt;/P&gt;

&lt;P&gt;(D+wL) x = y&lt;/P&gt;

&lt;P&gt;where:&lt;/P&gt;

&lt;P&gt;D = diagonal of a CSR matrix&lt;/P&gt;

&lt;P&gt;L = Lower part of a CSR matrix&lt;/P&gt;

&lt;P&gt;w = scalar&lt;/P&gt;

&lt;P&gt;thanks, Meysam&lt;/P&gt;</description>
      <pubDate>Wed, 27 Nov 2013 10:25:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920216#M12930</guid>
      <dc:creator>Meysam_J_</dc:creator>
      <dc:date>2013-11-27T10:25:34Z</dc:date>
    </item>
    <item>
      <title>Can you take a look at the</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920217#M12931</link>
      <description>&lt;P&gt;Can you take a look at the MKL sample code $MKLROOT//examples/solverc/source/cg_ssor_precon_c.c, which shows one implementation of SSOR?&lt;/P&gt;

&lt;P&gt;To solve the triangular sparse matrix, you can use 'mkl_?csrsv'. See the description of this function here: &lt;A href="http://software.intel.com/en-us/node/468586" target="_blank"&gt;http://software.intel.com/en-us/node/468586&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Nov 2013 21:17:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920217#M12931</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-11-27T21:17:27Z</dc:date>
    </item>
    <item>
      <title>Hi Meysam,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920218#M12932</link>
      <description>&lt;P&gt;Hi Meysam,&lt;/P&gt;

&lt;P&gt;Intel MKL SparseBLAS has functionality - *csrsv - which can solve triangular sparse matrices&amp;nbsp;that should be built explicitly in&amp;nbsp;the application. There are no functions which can solve equation in the form:&lt;/P&gt;

&lt;P&gt;(D+wL)x=y&lt;/P&gt;

&lt;P&gt;Regards, Sergey&lt;/P&gt;</description>
      <pubDate>Thu, 28 Nov 2013 09:59:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920218#M12932</guid>
      <dc:creator>Sergey_P_Intel2</dc:creator>
      <dc:date>2013-11-28T09:59:49Z</dc:date>
    </item>
    <item>
      <title>Thank mecej4,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920219#M12933</link>
      <description>&lt;P&gt;Thank mecej4,&lt;/P&gt;

&lt;P&gt;This was exactly what I was looking for.&amp;nbsp; I think in your code I don't even need to define ic and jc since the resulting matrix C has the same structure as A.&lt;/P&gt;

&lt;P&gt;Thank you so much for the help.&lt;/P&gt;

&lt;P&gt;Cheers,Meysam&lt;/P&gt;</description>
      <pubDate>Thu, 28 Nov 2013 13:25:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920219#M12933</guid>
      <dc:creator>Meysam_J_</dc:creator>
      <dc:date>2013-11-28T13:25:32Z</dc:date>
    </item>
    <item>
      <title>Hey Zhang Z,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920220#M12934</link>
      <description>&lt;P&gt;Hey Zhang Z,&lt;/P&gt;

&lt;P&gt;I am already aware of that example. But there is a "for loop" around the preconditioner part which I cannot understand it (niter_ssor!). I wonder if you can point me to some literatures&amp;nbsp; where this routine has been explained.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Meysam&lt;/P&gt;</description>
      <pubDate>Thu, 28 Nov 2013 13:30:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920220#M12934</guid>
      <dc:creator>Meysam_J_</dc:creator>
      <dc:date>2013-11-28T13:30:22Z</dc:date>
    </item>
    <item>
      <title>Despite MKL not having a</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920221#M12935</link>
      <description>&lt;P&gt;Despite MKL not having a routine to do the C = diag(A) + w B operation, this is easy to implement in Fortran or C, as long as there are no missing diagonal entries in the CSR representations of A and B. I have attached a small example where A and B have different numbers of non-zero entries, and are square matrices. The code does not need to be changed if the matrices are triangular, since the CSC representation is not bothered by where the non-zero elements are located.&lt;/P&gt;

&lt;P&gt;If there are missing diagonal entries, the task is more complicated, but it is clear that it can be done using existing MKL routines augmented with similar code to the example that I have provided.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Nov 2013 13:34:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920221#M12935</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2013-11-28T13:34:34Z</dc:date>
    </item>
    <item>
      <title>Quote:Meysam J. wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920222#M12936</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Meysam J. wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;...the resulting matrix C has the same structure as &lt;S&gt;A&lt;/S&gt; B.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Note the correction A -&amp;gt; B. It is possible that A has different off-diagonal entries than B.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Nov 2013 13:41:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/SSOR-preconditioner-using-RCI/m-p/920222#M12936</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2013-11-28T13:41:00Z</dc:date>
    </item>
  </channel>
</rss>

