<?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 Hello,  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036931#M20453</link>
    <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;What are your problem size and sparse matrix structure (like Non-zero number ratio, storage format) etc?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I guess, the sparse solver and sparse BLAS in MKL may help. &amp;nbsp;Please refer to the manual of MKL &amp;nbsp;or&lt;/P&gt;

&lt;P&gt;&amp;nbsp;https://software.intel.com/en-us/articles/intel-mkl-sparse-solvers-training-material &amp;nbsp;( i will attach the pdf file there).&amp;nbsp;&lt;/P&gt;

&lt;P&gt;and you can find code sample in MKL install forder :&amp;nbsp;solverc or solverf (fortran).&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Sparse Solver Routines=&amp;gt;&amp;nbsp;Intel MKL PARDISO&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 28 Oct 2015 02:35:03 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2015-10-28T02:35:03Z</dc:date>
    <item>
      <title>Cholesky factorization, traspose and inversion of sparse matrix.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036930#M20452</link>
      <description>&lt;P abp="1037"&gt;Hello!&lt;/P&gt;

&lt;P abp="1038"&gt;Let Sigma be a sparse matrix. I would like to compute the Cholesky factorization of Sigma (the Upper(Lt) or lower triangular (L)), transpose it, and compute the folowing terms&lt;/P&gt;

&lt;P abp="1039"&gt;&lt;BR abp="1040" /&gt;
	w = inv(L)*mu;&lt;BR abp="1041" /&gt;
	m = inv(Lt)*w;&lt;BR abp="1042" /&gt;
	v = inv(Lt)*b;&lt;/P&gt;

&lt;P abp="1043"&gt;&lt;BR abp="1044" /&gt;
	where mu, b are known.&lt;/P&gt;

&lt;P abp="1045"&gt;The problem I face is that I can't find the routines (and examples) when the matrix is sparse. Any help would be really appreciated.&lt;BR abp="1046" /&gt;
	Thank you very much.&lt;/P&gt;

&lt;P abp="1047"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P abp="1049"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P abp="1051"&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Oct 2015 22:38:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036930#M20452</guid>
      <dc:creator>Fiori</dc:creator>
      <dc:date>2015-10-27T22:38:00Z</dc:date>
    </item>
    <item>
      <title>Hello, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036931#M20453</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;What are your problem size and sparse matrix structure (like Non-zero number ratio, storage format) etc?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I guess, the sparse solver and sparse BLAS in MKL may help. &amp;nbsp;Please refer to the manual of MKL &amp;nbsp;or&lt;/P&gt;

&lt;P&gt;&amp;nbsp;https://software.intel.com/en-us/articles/intel-mkl-sparse-solvers-training-material &amp;nbsp;( i will attach the pdf file there).&amp;nbsp;&lt;/P&gt;

&lt;P&gt;and you can find code sample in MKL install forder :&amp;nbsp;solverc or solverf (fortran).&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Sparse Solver Routines=&amp;gt;&amp;nbsp;Intel MKL PARDISO&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 02:35:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036931#M20453</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2015-10-28T02:35:03Z</dc:date>
    </item>
    <item>
      <title>If all that is required is to</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036932#M20454</link>
      <description>&lt;P&gt;If all that is required is to solve A.x = b given a sparse matrix A and vectors x and b, it is neither necessary nor efficient to form and use the explicit inverse of A. When you use a sparse linear solver, the usual sequence of operations is (i) analyze (ii) factorize and (iii) solve. If the matrix is banded, you can use the band solver routines in MKL/Lapack. Otherwise, use the sparse solver Pardiso directly or through the DSS interface. For details, consult the MKL documentation and the example source and data files in the MKL examples/solverf directory.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 14:31:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036932#M20454</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2015-10-28T14:31:48Z</dc:date>
    </item>
    <item>
      <title>Hello. Thank you for your</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036933#M20455</link>
      <description>&lt;P abp="474"&gt;Hello. Thank you very much for your help.&lt;/P&gt;

&lt;P abp="475"&gt;I want to sample from a Multivariate Normal distribution(Q^{-1}b, Q^{-1})&amp;nbsp;, where Q is a triagonal, symmetric&amp;nbsp;matrix:&lt;/P&gt;

&lt;P abp="476"&gt;the elements of the main diagonal are {a1, a2, a2, ...., a2, a1} and the elements of the upper (down) diagonal are {a3, a3, a3, .... a3}.&lt;/P&gt;

&lt;P abp="477"&gt;The algorithm in order to do this is the following:&lt;/P&gt;

&lt;P abp="478"&gt;1. Compute the Cholesky factorization, Q=LU, where U=L^{T}&lt;/P&gt;

&lt;P abp="479"&gt;2. Solve Lw = b&lt;/P&gt;

&lt;P abp="480"&gt;3. Solve Um=w&lt;/P&gt;

&lt;P abp="481"&gt;4. Sample z~N(0,1)&lt;/P&gt;

&lt;P abp="482"&gt;5. Solve Uv=z&lt;/P&gt;

&lt;P abp="483"&gt;6.Compute x=m+y&lt;/P&gt;

&lt;P abp="484"&gt;7.Return x&lt;/P&gt;

&lt;P abp="485"&gt;The number of rows of Q is 5e+5.&amp;nbsp;&lt;/P&gt;

&lt;P abp="486"&gt;Steps 2 and 3 gives the solution of Qm=b. The function &lt;FONT face="Courier New" abp="487"&gt;PARDISO computes it. How can I compute step 5? &lt;/FONT&gt;Is it better to write it as a band or as a sparse matrix?&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P abp="488"&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 17:53:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036933#M20455</guid>
      <dc:creator>Fiori</dc:creator>
      <dc:date>2015-10-28T17:53:35Z</dc:date>
    </item>
    <item>
      <title>Hi GF,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036934#M20456</link>
      <description>&lt;P&gt;Hi GF,&lt;/P&gt;

&lt;P&gt;As I understand, both Lapack function with band format and pardiso can do your computation. You may try both.&lt;/P&gt;

&lt;P&gt;But if your matrix format is band obviously, I evaluate a &amp;nbsp;band matrix and lapack function call may better (easy to use and better performance).&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;Pardiso support s&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;eparate Forward and Backward Substitution, so you should be able to call phase 331 for different &amp;amp; multiply z .&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;The solver execution step (see parameterphase= 33below) can be divided into two or three separate&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;substitutions: forward, backward, and possible diagonal. This separation can be explained by the examples of&lt;BR /&gt;
	solving systems with different matrix types.&lt;BR /&gt;
	A real symmetric positive definite matrix A(mtype= 2) is factored by Intel MKL PARDISO as A= L*L&lt;BR /&gt;
	T&lt;BR /&gt;
	. In&lt;BR /&gt;
	this case the solution of the system A*x=bcan be found as sequence of substitutions: L*y=b(forward&lt;BR /&gt;
	substitution, phase=331) andL&lt;BR /&gt;
	T&lt;BR /&gt;
	*x=y(backward substitution, phase=333)&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;If iparm[35] = 2, phases 331, 332, and 333 perform a different&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;decomposition:&lt;BR /&gt;
	You can supply a custom implementation for phase 332 instead of calling&lt;BR /&gt;
	pardiso. For example, it can be implemented with dense LAPACK&lt;BR /&gt;
	functionality. Custom implementation also allows you to substitute the&lt;BR /&gt;
	matrix Swith your own.&lt;BR /&gt;
	NOTE&lt;BR /&gt;
	For very large Schur complement matrices use LAPACK functionality to&lt;BR /&gt;
	compute the Schur complement vector instead of the Intel MKL&lt;BR /&gt;
	PARDISO phase 332 implementation.&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&lt;/P&gt;</description>
      <pubDate>Thu, 29 Oct 2015 07:36:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Cholesky-factorization-traspose-and-inversion-of-sparse-matrix/m-p/1036934#M20456</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2015-10-29T07:36:55Z</dc:date>
    </item>
  </channel>
</rss>

