<?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 DSS/Pardiso is used for in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131121#M25600</link>
    <description>&lt;P&gt;DSS/Pardiso is used for matrices whose sparse-pattern is more general than that of a banded matrix. For your purposes, it may be sufficient to compute the bandwidth of the input matrix before pivoting and other operations are performed. The following code can do this (assuming that the row index and columns arrays ia and ja contain one-based indices):&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;bw = 0
do i  = 1, n
   k  = ia(i)
   jl = ja(k)     ! first non-zero column in row i
   k  = ia(i+1)-1
   jm = ja(k)     ! last non-zero column in row i
   bw = max(bw, jm-jl+1)
end do
print *,'Bandwidth = ',bw&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 29 May 2018 10:59:00 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2018-05-29T10:59:00Z</dc:date>
    <item>
      <title>Bandwidth of matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131120#M25599</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I'm using the DSS interface for solving a large linear set of equations. In order to do some analytical work on the performance of my implementation I would like to know the bandwidth of the system matrix. Is there a way to determine the bandwidth of the system matrix from the internal data structure? I also don't see how to use the column indices of the non-zero entries to calculate the bandwidth, as these are the indices of the un-reordered system matrix.&lt;/P&gt;

&lt;P&gt;Furthermore, is there a way of computing the condition number of the internal system matrix?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Any help would be greatly appreciated. M&lt;SPAN style="font-size: 1em;"&gt;any thanks in advance.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Wouter&lt;/P&gt;</description>
      <pubDate>Mon, 28 May 2018 10:10:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131120#M25599</guid>
      <dc:creator>Twoot</dc:creator>
      <dc:date>2018-05-28T10:10:51Z</dc:date>
    </item>
    <item>
      <title>DSS/Pardiso is used for</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131121#M25600</link>
      <description>&lt;P&gt;DSS/Pardiso is used for matrices whose sparse-pattern is more general than that of a banded matrix. For your purposes, it may be sufficient to compute the bandwidth of the input matrix before pivoting and other operations are performed. The following code can do this (assuming that the row index and columns arrays ia and ja contain one-based indices):&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;bw = 0
do i  = 1, n
   k  = ia(i)
   jl = ja(k)     ! first non-zero column in row i
   k  = ia(i+1)-1
   jm = ja(k)     ! last non-zero column in row i
   bw = max(bw, jm-jl+1)
end do
print *,'Bandwidth = ',bw&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2018 10:59:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131121#M25600</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2018-05-29T10:59:00Z</dc:date>
    </item>
    <item>
      <title>Thanks for your reply mecej4.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131122#M25601</link>
      <description>&lt;P&gt;Thanks for your reply mecej4.&lt;/P&gt;

&lt;P&gt;I already know the bandwidth of the input matrix. However, what I am interested in is the bandwidth of the matrix after reordering,which will of course be smaller than that of the input matrix.&lt;/P&gt;

&lt;P&gt;With dss_reorder I obtain the vector&amp;nbsp;&lt;EM&gt;perm&lt;/EM&gt;&amp;nbsp;which defines the (row- and column-) permutations of the input matrix. Is there a way to efficiently determine the bandwidth of the reordered matrix using this vector?&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Wouter&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2018 11:28:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131122#M25601</guid>
      <dc:creator>Twoot</dc:creator>
      <dc:date>2018-05-29T11:28:57Z</dc:date>
    </item>
    <item>
      <title>Reordering algorithms of the</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131123#M25602</link>
      <description>&lt;P&gt;Reordering algorithms of the types used in DSS seek to reduce the "fill-in" rather than to reduce the bandwidth. Therefore, it should be cause for little surprise if the bandwidth (the sum of the bandwidths of the L and U factors) is not reduced by reordering (we know that it cannot increase).&lt;/P&gt;

&lt;P&gt;Sorry, I do not see why you consider bandwidth to be an important measure of sparseness, unless it is the case that (w . N) is of the same order of magnitude as N&lt;SUB&gt;nz&lt;/SUB&gt;, with w = bandwidth, N = rows in matrix.&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2018 12:16:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131123#M25602</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2018-05-29T12:16:13Z</dc:date>
    </item>
    <item>
      <title>I do not consider the</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131124#M25603</link>
      <description>&lt;P&gt;I do not consider the bandwidth to be a measure of sparseness. In my problem I use the same LU factorisation of my input matrix to solve for several right-hand side vectors. Since the solution (backward/forward substitution) procedure scales with the bandwidth of the factors L and U, and these have the same lower- and upper bandwidth as the reordered matrix, I want to know the bandwidth of the reordered matrix such that I can make an estimate on the flopcount of the solve step. Such an estimate would be useful as a comparison with another (iterative) solution method.&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2018 12:25:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Bandwidth-of-matrix/m-p/1131124#M25603</guid>
      <dc:creator>Twoot</dc:creator>
      <dc:date>2018-05-29T12:25:00Z</dc:date>
    </item>
  </channel>
</rss>

