Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

Matrix Storage Schemes for LAPACK Routines

LAPACK routines use the following matrix storage schemes:
  • Full storage : an
    m
    -by-
    n
    matrix
    A
    is stored in a two-dimensional array
    a
    , with the matrix element
    a
    i
    j
    (
    i
    = 1..
    m
    j
    = 1..
    n
    ), and stored in the array element
    a(
    i
    ,
    j
    )
    .
  • Packed storage scheme allows you to store symmetric, Hermitian, or triangular matrices more compactly: the upper or lower triangle of the matrix is packed by columns in a one-dimensional array.
  • 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. Columns of the matrix are stored in the corresponding columns of the array, and diagonals of the matrix are stored in rows of the array.
  • Rectangular Full Packed (RFP) storage : the upper or lower triangle of the matrix is packed combining the full and packed storage schemes. This combination enables using half of the full storage as packed storage while maintaining efficiency by using Level 3 BLAS/LAPACK kernels as the full storage.
Generally in LAPACK routines, arrays that hold matrices in packed storage have names ending in
p
; arrays with matrices in band storage have names ending in
b
; arrays with matrices in the RFP storage have names ending in
fp
.
For more information on matrix storage schemes, see "Matrix Arguments" in
"Routine and Function Arguments"
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804