Developer Reference


Numerical Limitations for Compact BLAS and Compact LAPACK Routines

Compact routines are subject to a set of numerical limitations. They also skip most of the checks presented in regular BLAS and LAPACK routines in order to provide effective vectorization. The following limitations apply to at least one compact routine.
Complex division
: BLAS and LAPACK compact routines rely on a naïve method for complex division that does not protect the solution against overflow, underflow, or loss of precision.
Error checking
: the LAPACK compact routines skip error checking for performance reasons ; therefore, the user is responsible for passing correct parameters. There are no checks for incorrect matrices (such as singular for LU, non-positive-definite for Cholesky) - it is always assumed that the algorithm for the input matrix can be completed without error.
No pivoting
: the generic LU factorization routine,
, calculates the factorization using partial pivoting. However, because pivoting includes comparisons which cannot be effectively vectorized, only non-pivoting versions of LU
and Inverse from LU (
) are provided as compact routines.
Matrices scaled near underflow/overflow
: the LAPACK compact routines do not provide safe handling for values near underflow/overflow. This means that Compact routines may return incorrect results for such matrices. This limitation is related to compact routine for QR:
It is the responsibility of the user to ensure that the input matrices can be factorized, inverted, and/or solved given these numerical limitations.

Product and Performance Information


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