Releases: Reference-LAPACK/lapack
Official Release for LAPACK 3.12.0
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..
The following notes are also at http://netlib.org/lapack/lapack-3.12.0.html
Dynamic Mode Decomposition (DMD)
xGEDMD computes the Dynamic Mode Decomposition (DMD) for a pair of data snapshot matrices. For the input matrices X and Y such that Y = A*X with an unaccessible matrix A, xGEDMD computes a certain number of Ritz pairs of A using the standard Rayleigh-Ritz extraction from a subspace of range(X) that is determined using the leading left singular vectors of X. Optionally, xGEDMD returns the residuals of the computed Ritz pairs, the information needed for a refinement of the Ritz vectors, or the eigenvectors of the Exact DMD.
xGEDMDQ does the same as xGEDMD but uses a QR factorization based compression of the data.
- See: Z. Drmac: A LAPACK implementation of the Dynamic Mode Decomposition I. Technical report. AIMDyn Inc. and LAPACK Working Note 298.
- Developed and coded by Zlatko Drmac, Faculty of Science, University of Zagreb. In cooperation with AIMdyn Inc., Santa Barbara, CA. And supported by (1) DARPA SBIR project "Koopman Operator-Based Forecasting for Nonstationary Processes from Near-Term, Limited Observational Data", Contract No: W31P4Q-21-C-0007; (2) DARPA PAI project "Physics-Informed Machine Learning Methodologies", Contract No: HR0011-18-9-0033; (3) DARPA MoDyL project "A Data-Driven, Operator-Theoretic Framework for Space-Time Analysis of Process Dynamics", Contract No: HR0011-16-C-0116. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the DARPA SBIR Program Office. Distribution Statement A: Approved for Public Release, Distribution Unlimited. Cleared by DARPA on September 29, 2022
- Adding Dynamic Mode Decomposition (DMD) into LAPACK by @dbielich in #736
- Update C prototypes and LAPACKE interfaces for ?GEDMD/?GEDMDQ by @martin-frbg in #880
- Update of the documentation to the pull request "Truncated QR with Pivoting #891" by @scr2016 in #941
- make the DMD comments in the header Doxygen compliant by @langou in #936
Truncated QR with Column Pivoting
The routine computes a truncated (rank K) or full rank Householder QR factorization with column pivoting of a real M-by-N matrix A using Level 3 BLAS.
The truncation criteria (i.e. when to stop the factorization) can be any of the following: (1) The input parameter KMAX, the maximum number of columns KMAX to factorize; (2) The input parameter ABSTOL, the absolute tolerance for the maximum column 2-norm of the residual matrix R22(K); (3) The input parameter RELTOL, the tolerance for the maximum column 2-norm matrix of the residual matrix R22(K) divided by the maximum column 2-norm of the original matrix A, which is equal to abs(R(1,1)). The algorithm stops when any of these conditions is first satisfied, otherwise the whole matrix A is factorized.
Reciprocal Scaling of complex vectors
[C/Z]RSCL multiplies an n-element complex vector x by the complex scalar 1/a. This is done without overflow or underflow as long as the final result x/a does not overflow or underflow.
- See: "An algorithm for scaling vectors by the reciprocal of a complex number", Weslley da Silva Pereira, arXiv:2311.05736
- Adds CRSCL by @weslleyspereira in #839
Improvements in the 64-bit API
- Fix CBLAS tests with 64-bit indexing by @svillemot in #767
- Add Index-64 API as extended API with _64 suffix for CBLAS by @mkrainiuk in #846
- Revert "Add Index-64 API as extended API with _64 suffix for CBLAS" by @langou in #856
- Add Index-64 API as extended API with _64 suffix for CBLAS by @mkrainiuk in #857
- Create DOCS/CBLAS.md by @mkrainiuk in #853
- Reduce number of macros in fortran compilation line for BLAS _64 API by @mkrainiuk in #861
Bug fixes and other changes
- Windows build fix by @ACSimon33 in #760
- Added option to enable flat namespace on macOS by @ACSimon33 in #762
- Fix bug in new test case for LAPACK 3.11 SLATRS3 by @dklyuchinskiy in #755
- Check for NaNs in *GECON by @weslleyspereira in #765
- Fixed bug in array bounds in complex syl01 test by @dklyuchinskiy in #758
- Fix uninitialized M when quick return in DLARRD and SLARRD by @akobotov in #769
- In LAPACKE tgsen, allocate iwork when ijob = 0. Fixes #772. by @mgates3 in #773
- Fix SLATRS3 and CLATRS3 tests by @bartoldeman in #764
- Fix uninitialized out variables in LARR functions by @echeresh in #775
- Warnings supression in some LAPACKE functions by @jgpallero in #780
- Revert "Warnings supression in some LAPACKE functions" by @langou in #781
- Warnings supression and deletion of unnecessary check in some LAPACKE xLARFB functions by @jgpallero in #782
- remove redundant space from xerbla call sbgv/hbgv by @dklyuchinskiy in #792
- don't subtract N_DEFLATED from istop twice by @thijssteel in #794
- fix rfp test for DIAG = U by @dklyuchinskiy in #796
- fix bug in complex precision tests (c|z)het21 by @EduardFedorenkov in #798
- CMake: Disable TEST_FORTRAN_COMPILER by @jschueller in #761
- Fix typos in documentation by @angsch in #750
- Add minimum permissions to workflows by @gabibguti in #804
- Add numerical tests for trevc3 by @angsch in #682
- Remove legacy function LABAD by @angsch in #805
- Refactor xGEBAL by @eprovst in #808
- Fix typos and errors in comments by @jip in #809
- cmake: allow setting a prefix for the library names by @joseeroman in #810
- Fix typos in comments by @jip in #811
- fix #813 by @langou in #814
- Replace the (partially defined) constant index variable INDIBL in ?SBGVX and related by @martin-frbg in #807
- CTGEVC, ZTGEVC: fix typo in description of VR argument by @svillemot in #812
- Add Security Policy by @gabibguti in #819
- typos by @musvaage in #820
- extend tests for error exit sysv sytd2 gehd2 by @dklyuchinskiy in #795
- CMake: avoid "make" in blas++ & lapack++ by @nim65s in #821
- appveyor: output test failures by @nim65s in #822
- Reference actions by commit SHA by @gabibguti in #829
- LAPACKE interfaces for [cz]unhr_col and [sd]orhr_col by @sknepper in #827
- fix segfault problem when executing LAPACKE_*geqrt on row major #766 by @sbite0138 in #768
- Adds comment related to zero-sized matrix B in GELSY by @weslleyspereira in #833
- update brief descriptions of function purpose, Closes #230 by @weslleyspereira in #831
- Fix scaling in (S/D)TGSNA, fix #103, thanks to @elivanova by @weslleyspereira in #830
- Exits xLARUV when N < 1 by @weslleyspereira in #837
- Create GitHub action to test CMake build system on Windows by @weslleyspereira in #524
- Fix bug in lapacke_[s,d]geesx by @weslleyspereira in #836
- Removes unused SMIN from bdsqr by @weslleyspereira in #832
- Use a better (more informative) message when we say the compiler intr… by @weslleyspereira in #845
- Improve variants of Cholesky and QR by @angsch in #847
- fixes #848 by @jaganmn in #849
*...
Releases from 1.0 to 3.1.1
This contains releases/versions of LAPACK previous to the Git history, only for purposes of historical reference or comparison.
Warning
Be aware that known bugs exist in these tar files, and have been fixed in subsequent versions! As a result, these tar files should never be used for a current LAPACK installation! You can find the latest release of LAPACK at https://github.com/Reference-LAPACK/lapack/releases
Releases attached:
- VERSION 1.0 : February 29, 1992
- VERSION 1.0a : June 30, 1992
- VERSION 1.0b : October 31, 1992
- VERSION 1.1 : March 31, 1993
- VERSION 2.0 : September 30, 1994
- VERSION 3.0 + update : May 31, 2000
- VERSION 3.1 : November 2006
Release Notes - VERSION 3.1.1 : February 2007
Release Notes
Note
The assets named "Source code" relate to the first commit in the Git history of LAPACK.
Official Release for LAPACK 3.11.0
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..
The following notes are also at http://netlib.org/lapack/lapack-3.11.0.html
Normwise criterion for infinite eigenvalues in the QZ algorithm by @thijssteel
The normwise criterion is more robust at detecting infinite eigenvalues than the elementwise criterion (PR #698). See also https://arxiv.org/abs/2208.02057.
level-3 BLAS solvers for the triangular system and triangular Sylvester equation by @angsch
The triangular Sylvester equation has been recognized to be prone to overflow. For that purpose, *TRSYL
utilizes a scaling factor to represent the solution as *TRSYL3
, computes the scaling factors based on the upper bounds of blocks to enable level-3 BLAS. The scaling is typically slightly more aggressive so that an alternatively scaled final solution is computed. This is no problem as long as the scaling factor does not get flushed to zero (PR #651). The same upper bound calculation was used to write the level-3 BLAS solver for the triangular system, *LATRS3
.
Givens rotations generated with less accumulation error by @weslleyspereira
New algorithms for computing Givens rotations in complex arithmetic that reduce the accumulation errors for computing each of the outputs, c, s, r
. The new algorithms are, on average, more accurate than both the algorithms from LAPACK 3.9.1 and LAPACK 3.10.0 (PR #631). See also https://arxiv.org/abs/2211.04010.
Faster algorithms for Least Squares by @scr2016
The new algorithms, *GELST
, are similar to *GELS
. *GELST
avoids computing triangular blocks twice as in *GELS
, which means *GELST
runs faster (PR #739).
Improvements on the building system and the Continuous Testing framework
- Regression test for illegal modification of Y in
*GEMV
by @matcross in #622. - Test the Fortran intrinsic ABS and complex divisions and report failures during build by @weslleyspereira in #623.
- Appveyor is working in the Continuous Testing once more by @martin-frbg in #627.
- More tests and fixes for type mismatches by @angsch in #675.
- Solve build issues with IBM XLF by @friedc in #677.
- Explicit type casts to INT by @angsch in #684.
- Fix an out-of-bounds write in the tests by @angsch in #685.
- Adding support for NAG Fortran compiler (nagfor) by @ACSimon33 in #686.
- Fix time check flag propagation and default value by @ACSimon33 in #696.
- Fixed format warnings in 64 bit integer builds by @ACSimon33 in #700.
- Explicit type casts and more rigorous CI by @weslleyspereira in #703.
- Fix type mismatches in function calls of testing code by @mjacobse in #706.
- Fix lower triangular band matrix generation by @angsch in #728.
Other improvements
- Improves the computation of norms in
{S,D}ORBDB6
and{C,Z}UNBDB6
by @christoph-conrads in #647. - Uses a Newton step to compute the initial guess for
ETA
in{S,D}LAED4
to reduce the number of iterations by @weslleyspereira in #655. - Return immediately when scaling with one by @angsch in #674.
- Rearrange the application of the Householder reflectors in
*LAQR5
, which lowers the instruction count when FMA is available by @angsch in #681. - Add
{C,Z}ROTG
,{CS,ZD}ROT
,{S,D}CABS1
to CBLAS by @angsch in #721. - Add
*LANGB
to LAPACKE by @ACSimon33 in #725. - NaN check for trapezoidal matrices on LAPACKE by @ACSimon33 in #738 and #742.
Bug fixes
- Fix
LAPACKE_*tpmqrt_work
for row-major matrices by @weslleyspereira in #540. - Fix leading dimension check in LAPACKE's
*geesv[x]
and*gges[x]
by @angsch in #665. - Fix the left-looking variant of GEQRF by @weslleyspereira in #690.
- Fix workspace query for
*SYEVD
and*HEEVD
routines by @neil-lindquist in #691. - Fix behavior of
SCALE
in*LATBS
and*LATRS
, and avoids NaN generation if entries inCNORM
exceed the overflow threshold by @angsch in #712.
New Contributors
- @PhillHS made their first contribution in #601
- @mtowara made their first contribution in #663
- @dbakshee made their first contribution in #671
- @ACSimon33 made their first contribution in #686
- @friedc made their first contribution in #677
- @neil-lindquist made their first contribution in #691
- @ivan-pi made their first contribution in #699
- @mjacobse made their first contribution in #702
- @MonicaLiu0311 made their first contribution in #720
- @eltociear made their first contribution in #735
Full Changelog: v3.10.1...v3.11
Thanks to all our contributors!
Thanks to the Mathworks team: Penny Anderson, Mary Ann Freeman, Bobby Cheng, Pat Quillen, Christine Tobler, Heiko Weichelt.
The LAPACK team
Official Release for LAPACK 3.10.1
Release notes on http://netlib.org/lapack/lapack-3.10.1.html
Thank you to all our contributors
The LAPACK team
Official Release for LAPACK 3.10.0
Release notes on http://netlib.org/lapack/lapack-3.10.0.html
Thank you to all our contributors
The LAPACK team
Official Release for LAPACK 3.9.1
Release notes on http://netlib.org/lapack/lapack-3.9.1.html
Thank you to all our contributors
The LAPACK team
Official Release for LAPACK 3.9.0
Release notes on http://netlib.org/lapack/lapack-3.9.0.html
Thank you to all our contributors
The LAPACK team
Official Release for LAPACK 3.8.0
Merge pull request #206 from julielangou/master Updating Version number on files for 3.8.0
v3.7.1
Official Release for LAPACK 3.7.1
v3.7.0
Please see release notes at: http://www.netlib.org/lapack/lapack-3.7.0.html