<?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: How to obtain the L matrix after performing Cholesky decomposition using the Eigen::PardisoLLT ? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-obtain-the-L-matrix-after-performing-Cholesky/m-p/1630453#M36417</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/382474"&gt;@ShowBeOne&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;The Eigen::PardisoLLT solver is indeed designed for efficiency with sparse matrices and utilizes the Pardiso library under the hood. While it provides methods to solve systems and perform factorizations, I'm not sure if it exposes the triangular factors directly through its API. You could try&amp;nbsp;Eigen::SimplicialLLT for L matrix extraction but it sounds like that's not what you'd like to do. I will ask our developers for comments on your request.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 11 Sep 2024 17:17:02 GMT</pubDate>
    <dc:creator>Mark_L_Intel</dc:creator>
    <dc:date>2024-09-11T17:17:02Z</dc:date>
    <item>
      <title>How to obtain the L matrix after performing Cholesky decomposition using the Eigen::PardisoLLT ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-obtain-the-L-matrix-after-performing-Cholesky/m-p/1629304#M36396</link>
      <description>&lt;P&gt;Hello, I am a C++ programmer currently engaged in research on efficient simulation algorithms. In my research, I frequently use the following code snippet:&lt;/P&gt;&lt;P&gt;----------------------------------------&lt;/P&gt;&lt;P&gt;Eigen::SparseMatrix&amp;lt;&lt;SPAN class=""&gt;double&lt;/SPAN&gt;&amp;gt; A;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;// Initialize A ...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Eigen::PardisoLLT&amp;lt;Eigen::SparseMatrix&amp;lt;&lt;SPAN class=""&gt;double&lt;/SPAN&gt;&amp;gt;&amp;gt; solver;&lt;/P&gt;&lt;P&gt;solver.&lt;SPAN class=""&gt;compute&lt;/SPAN&gt;(A);&lt;/P&gt;&lt;P&gt;-----------------------------------------&lt;/P&gt;&lt;P&gt;Then,&amp;nbsp;I need to access the lower triangular matrix &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;L&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;from the Cholesky decomposition of &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;A&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;in order to perform further calculations. Therefore, I naturally wrote the following code for the next step:&lt;/P&gt;&lt;P&gt;-----------------------------------------&lt;/P&gt;&lt;P&gt;Eigen::SpaseMatrix&amp;lt;double&amp;gt; L = solver.getMatrixL();&lt;/P&gt;&lt;P&gt;----------------------------------------&lt;/P&gt;&lt;P&gt;Unfortunately, I found that the Eigen::PardisoLLT class does not provide an API for this. Therefore, I would like to ask how I can obtain the lower triangular matrix &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;L&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; from the Cholesky decomposition performed using Eigen::PardisoLLT&amp;lt;Eigen::SparseMatrix&amp;lt;double&amp;gt;&amp;gt;. （Note that, in pursuit of high computational efficiency, I chose to use the Eigen::PardisoLLT solver. I noticed that with less efficient solvers like Eigen::LLT, it is possible to directly obtain the lower triangular matrix &lt;SPAN class=""&gt;&lt;SPAN class=""&gt;L&lt;/SPAN&gt;&lt;/SPAN&gt;. However, such less efficient solvers are not suitable for my research. Therefore, I must use high-efficiency solvers like Eigen::PardisoLLT.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Sep 2024 11:39:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-obtain-the-L-matrix-after-performing-Cholesky/m-p/1629304#M36396</guid>
      <dc:creator>ShowBeOne</dc:creator>
      <dc:date>2024-09-06T11:39:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to obtain the L matrix after performing Cholesky decomposition using the Eigen::PardisoLLT ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-obtain-the-L-matrix-after-performing-Cholesky/m-p/1630453#M36417</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/382474"&gt;@ShowBeOne&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;The Eigen::PardisoLLT solver is indeed designed for efficiency with sparse matrices and utilizes the Pardiso library under the hood. While it provides methods to solve systems and perform factorizations, I'm not sure if it exposes the triangular factors directly through its API. You could try&amp;nbsp;Eigen::SimplicialLLT for L matrix extraction but it sounds like that's not what you'd like to do. I will ask our developers for comments on your request.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2024 17:17:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-obtain-the-L-matrix-after-performing-Cholesky/m-p/1630453#M36417</guid>
      <dc:creator>Mark_L_Intel</dc:creator>
      <dc:date>2024-09-11T17:17:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to obtain the L matrix after performing Cholesky decomposition using the Eigen::PardisoLLT ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-obtain-the-L-matrix-after-performing-Cholesky/m-p/1630677#M36424</link>
      <description>&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Thank you very much for the detailed explanation of PardisoLLT! I have indeed tried using Eigen::SimplicialLLT to extract the L matrix, but as I mentioned in my original question, the decomposition efficiency of Eigen::SimplicialLLT is far lower than that of Eigen::PardisoLLT, making it unsuitable for my research. Therefore, I am eagerly looking forward to the development team's evaluation and feedback regarding my needs.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 12 Sep 2024 08:20:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-obtain-the-L-matrix-after-performing-Cholesky/m-p/1630677#M36424</guid>
      <dc:creator>ShowBeOne</dc:creator>
      <dc:date>2024-09-12T08:20:11Z</dc:date>
    </item>
  </channel>
</rss>

