Release date: 04/12/22.

This material is based upon work supported by the National Science Foundation and the Department of Energy.

LAPACK is a software package provided by Univ. of Tennessee, Univ. of California, Berkeley, Univ. of Colorado Denver and NAG Ltd..

1. Support and questions:

2. LAPACK 3.10.1: What’s new

This is a minor release addressing multiple bug fixes and improvements.

2.1. Principal Bug fixes

Pull Request 657: Fix workspace size returned by getsls

Description: Make least squares solver getsls work as a drop-in replacement of gels - [dz]getsls: cast workspace size with dble, not real - Move workspace write to precede xerbla. Follow the documentation and return the optimal workspace in work(1) even on quick return

Clean up unused variables.

Contribution by: angsch

Pull Request 654, 656, 646: Fix some argument checks

Description: Various argument check and typo corrections

Contribution by: angsch

Pull Request 649: Fix a bug in the Blue’s scaling constants

Description: Fixes a bug in the Blue’s scaling constants of nrm2 thanks to Arm Performance Libraries! This is the same bug fixed on #559 for la_constants.f90.

Contribution by: Weslley S. Pereira

Pull Request 638: Fix workspace query of xGEQRF and xGERQF

Description: xGEQRF and xGERQF return wrong optimal dimension LWORK when M and N equals zero, respectively. This applies the fixes proposed by @andreasvarga and @VasileSima4 in PR #633.

Contribution by: Andreas Varga and Vasile Sima

Pull Request 625: Fix out of bounds read in xLARRV which resolves CVE-2021-4048

Description: See CVE-2021-4048

Contribution by: Keno Fischer

Pull Request 624: Fix use of 8-byte integers on Windows

Description: CBLAS and LAPACKE layers are not built with 8 byte integers when cmake option BUILD_INDEX64=ON is passed. The reason is because long’s in windows are 4 bytes (MSVC c/c++, intel compilers). This patch uses int64_t and int32_t to ensure ILP interface is built.

Additionally, this patch adds support ifort’s 8 byte integer flag to cmake system for building BLAS and LAPACK.

Contribution by: Eric Lars

Pull Request 621: Fix support to IBM XL Fortran compiler

Description: This PR addresses Issue #606, by adding correct detection for the IBM XL Fortran (xlf) recursive option (-qrecur).

Contribution by: QuellynSnead

Pull Request 617: Fix use of integer64 flag for Cray and NVIDIA Fortran compilers

Description: use default64 flag for Cray ftn compiler when BUILD_INDEX64 is ON.

Contribution by: Ajay Panyala

Pull Request 607: Fix xLAPY2 and xLAPY3 for infinity inputs

Description: If some of the inputs are inf, {s,d}lapy{2,3} and the new {s,d}nrm2 routines return inconsistent results, NaN in contrast to inf.

  • lapy2 if both inputs are inf

  • lapy3 if at least one of the 3 inputs is inf

This commit adds a check to avoid the divisions inf / inf that introduce NaN.

Contribution by: angsch

Pull Request 605: Fix workspace computation for GESDD routines

Description: There is a known bug in LAPACK related to workspaces smaller than the value computed by the routine. This is because the routines use a floating-point variable to return the integer workspace size. See Issue #600. The intent here is to mitigate the problem of overestimating the workspace when doing the conversion INTEGER → REAL (or DOUBLE PRECISION) highlighted in #600. I do not solve the problem of a possible overflow in LWORK.

This PR applies the same strategy from the MAGMA package to solve the issue (See Isse #600 (comment) from @mgates3).

Contribution by: Mark Gates

2.2 Build Improvements

Deprecate xCOMBSSQ and use xLASSQ directly

Improve build and installation via CMake

Use CBLAS_INDEX and CBLAS_INT integer types in CBLAS as in previous versions of LAPACK

2.3 All Bug fixes and Improvements

For details please see our Github repository

2.6 Notes about compiler dependency

Some LAPACK routines rely on trustworthy complex division and ABS routines in the FORTRAN compiler. This link lists the LAPACK COMPLEX*16 algorithms that contain compiler dependent complex divisions of the form

REAL / COMPLEX   or   COMPLEX / COMPLEX

See Issue #575 and Issue #577 for a more complete discussion on this topic.

3. Developer list

LAPACK developers involved in this release
  • Weslley da Silva Pereira (University of Colorado Denver, USA)

  • Julie Langou (University of Tennessee, USA)

Principal Investigators
  • Jim Demmel (University of California, Berkeley, USA)

  • Jack Dongarra (University of Tennessee and ORNL, USA)

  • Julien Langou (University of Colorado Denver, USA)

4. Thanks

Github contribution details here

5. Bug Fix