Quantcast
Channel: Intel® Software - Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
Viewing all articles
Browse latest Browse all 3005

Documentation of Lapack ?GBSV()

$
0
0

The documentation of Lapack routine ?GBSV omits one important detail. The page for the routine states correctly at https://software.intel.com/en-us/node/468882#02FA8CF5-DE40-4016-BCD2-8AC... that argument ab should be of dimension (Ldab X n), where Ldab >= 2 kl + ku +1. The page also refers to https://software.intel.com/en-us/node/468672 for details on the band matrix storage scheme, where we find the statement

Band storage: an m-by-n band matrix with kl sub-diagonals and ku superdiagonals is stored compactly in a two-dimensional array ab with kl+ku+1 rows and n columns. 

This seems at first sight to be inconsistent (2 kl + ku + 1 OR kl + ku +1 ?), and leaves out one crucial piece of information, which we can find in the Lapack documentation at Netlib, for example, where it says:

          On entry, the matrix A in band storage, in rows KL+1 to
          2*KL+KU+1; rows 1 to KL of the array need not be set.
          The j-th column of A is stored in the j-th column of the
          array AB as follows:
          AB(KL+KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+KL)

Without this additional information, a user might declare array ab(2 kl + ku + 1, n) and fill the first kl + ku +1 rows of the array with the diagonals of the input matrix, and the solution returned would be totally wrong.

Zone: 

Thread Topic: 

How-To

Viewing all articles
Browse latest Browse all 3005

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>