./math/lapack, Linear Algebra PACKage (Netlib reference implementation)

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.12.0, Package name: lapack-3.12.0, Maintainer: thomas.orgis

The BLAS (Basic Linear Algebra Subprograms) are high quality "building
block" routines for performing basic vector and matrix
operations. Level 1 BLAS do vector-vector operations, Level 2 BLAS do
matrix-vector operations, and Level 3 BLAS do matrix-matrix
operations. Because the BLAS are efficient, portable, and widely
available, they're commonly used in the development of high quality
linear algebra software, LINPACK and LAPACK for example.

LAPACK is a highly portable Fortran 77 library which provides routines
for solving systems of simultaneous linear equations, least-squares
solutions of linear systems of equations, eigenvalue problems, and
singular value problems. The associated matrix factorizations (LU,
Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are
related computations such as reordering of the Schur factorizations
and estimating condition numbers. Dense and banded matrices are
handled, but not general sparse matrices. In all areas, similar
functionality is provided for real and complex matrices, in both
single and double precision.

This package contains the Fortran 77 reference implementation of BLAS
and LAPACK from Netlib. The C wrappers CBLAS and LAPACKE are provided
in separate packages.


Required to run:
[lang/g95] [math/blas]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 7747.663 KB

Version history: (Expand)


CVS history: (Expand)


   2024-01-09 04:32:48 by Ryo ONODERA | Files touched by this commit (2)
Log message:
cblas: Fix build with gfortran from lang/gcc10

* Use Fortran compiler as linker to link with sane RPATH.
   2024-01-08 22:28:57 by Dr. Thomas Orgis | Files touched by this commit (26) | Package removed
Log message:
math/{lapack*,cblas*}: update netlib BLAS to 3.12.0

This drops the static libraries along with the custom patches for those. Also,
the hack of linking CBLAS as Fortran library as opposed to C is gone. If this
breaks some NetBSD install, it should be investigated and fixed properly.

The only patch now is one unified one I already submitted for inclusion
upstream. Maybe soon we can drop any patches. Yay!

Here is a list of upstream changes:

LAPACK 3.12.0: What’s new

    Download: lapack-3.12.0.tar.gz

This is a major release and also addressing multiple bug fixes.
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 inaccessible 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
    PR 736

    Update C prototypes and LAPACKE interfaces for ?GEDMD/?GEDMDQ by
    @martin-frbg in PR 880

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.

    Truncated QR with Column Pivoting by @scr2016 in PR 891

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](https://arxiv.org/abs/2311.05736)

    Adds CRSCL by @weslleyspereira in PR 839

Improvements in the 64-bit API

    Fix CBLAS tests with 64-bit indexing by @svillemot in PR 767

    Add Index-64 API as extended API with _64 suffix for CBLAS by
    @mkrainiuk in PR 846

    Revert "Add Index-64 API as extended API with _64 suffix for CBLAS"
    by @langou in PR 856

    Add Index-64 API as extended API with _64 suffix for CBLAS by
    @mkrainiuk in PR 867

    Create DOCS/CBLAS.md by @mkrainiuk in PR 863

    Reduce number of macros in fortran compilation line for BLAS _64
    API by @mkrainiuk in PR 861

Bug fixes and other changes

    Windows build fix by @ACSimon33 in PR 760

    Added option to enable flat namespace on macOS by @ACSimon33 in PR 762

    Fix bug in new test case for LAPACK 3.11 SLATRS3 by @dklyuchinskiy
    in PR 755

    Check for NaNs in *GECON by @weslleyspereira in PR 765

    Fixed bug in array bounds in complex syl01 test by @dklyuchinskiyin
    PR 758

    Fix uninitialized M when quick return in DLARRD and SLARRD by
    @akobotov in PR 769

    In LAPACKE tgsen, allocate iwork when ijob = 0. Fixes #772. by
    @mgates3 in PR 773

    Fix SLATRS3 and CLATRS3 tests by @bartoldeman in PR 764

    Fix uninitialized out variables in LARR functions by @echeresh in
    PR 775

    Warnings supression in some LAPACKE functions by @jgpallero in PR 780

    Revert "Warnings supression in some LAPACKE functions" by @langou
    in PR 781

    Warnings supression and deletion of unnecessary check in some LAPACKE
    xLARFB functions by @jgpallero in PR 782

    remove redundant space from xerbla call sbgv/hbgv by @dklyuchinskiy
    in PR 792

    don’t subtract N_DEFLATED from istop twice by @thijssteel in PR 794

    fix rfp test for DIAG = U by @dklyuchinskiy in PR 796

    fix bug in complex precision tests (c|z)het21 by @EduardFedorenkov
    in PR 798

    CMake: Disable TEST_FORTRAN_COMPILER by @jschueller in PR 761

    Fix typos in documentation by @angsch in PR 750

    Add minimum permissions to workflows by @gabibguti in PR 804

    Add numerical tests for trevc3 by @angsch in PR 682

    Remove legacy function LABAD by @angsch in PR 805

    Refactor xGEBAL by @eprovst in PR 808

    Fix typos and errors in comments by @jip in PR 809

    cmake: allow setting a prefix for the library names by @joseeroman
    in PR 810

    Fix typos in comments by @jip in PR 811

    fix #813 by @langou in PR 814

    Replace the (partially defined) constant index variable INDIBL in
    ?SBGVX and related by @martin-frbg in PR 807

    CTGEVC, ZTGEVC: fix typo in description of VR argument by @svillemot
    in PR 812

    Add Security Policy by @gabibguti in PR 819

    typos by @musvaage in PR 820

    extend tests for error exit sysv sytd2 gehd2 by @dklyuchinskiy in
    PR 795

    CMake: avoid "make" in blas++ and lapack++ by @nim65s in PR 821

    appveyor: output test failures by @nim65s in PR 822

    Reference actions by commit SHA by @gabibguti in PR 829

    LAPACKE interfaces for [cz]unhr_col and [sd]orhr_col by @sknepper
    in PR 827

    fix segfault problem when executing LAPACKE_*geqrt on row major #766
    by @sbite0138 in PR 768

    Adds comment related to zero-sized matrix B in GELSY by
    @weslleyspereira in PR 833

    update brief descriptions of function purpose, Closes #230 by
    @weslleyspereira in PR 831

    Fix scaling in (S/D)TGSNA, fix #103, thanks to @elivanova by
    @weslleyspereira in PR 830

    Exits xLARUV when N < 1 by @weslleyspereira in PR 837

    Create GitHub action to test CMake build system on Windows by
    @weslleyspereira in PR 524

    Fix bug in lapacke_[s,d]geesx by @weslleyspereira in PR 836

    Removes unused SMIN from bdsqr by @weslleyspereira in PR 832

    Use a better (more informative) message when we say the compiler
    intr… by @weslleyspereira in PR 845

    Improve variants of Cholesky and QR by @angsch in PR 847

    fixes #848 by @jaganmn in PR 849

    Attempt to fix Appveyor on Windows by @angsch in PR 854

    fix dlasd0 / slasd0 documentation issue by @mtowara in PR 855

    Remove legacy warning for non IEEE 754 compliant machines by @angsch
    in PR 852

    Add verbose build to CI by @mkrainiuk in PR 858

    [cz]hetrd_hb2st.F, [sd]sytrd_sb2st.F OpenMP fixes by @chrwarm in
    PR 860

    new doxygen group structure by @mgates3 in PR 802

    Correct the order of returned eigenvalue and eigenvectors for 2x2
    matrices with IL=IU in C/D/S/Z/STEMR by @aravindh-krishnamoorthy in
    PR 867

    fix nrhs=0 case in ?gelss by @eaberendeev in PR 876

    Fix computation of uplo in LAPACKE_xlarfb by @vladimir-ch in PR 878

    Fix workspace query corner cases by @angsch in PR 883

    Fix actual arguments in some procedure calls by @mjacobse in PR 885

    Improve Cholesky variants by @angsch in PR 889

    Removes usage of Experimental (interactive) mode in ctest by
    @weslleyspereira in PR 892

    Updates the documentation of xGEMV and xGBMV related to when M=0
    and N=0 by @weslleyspereira in PR 843

    Add Scorecard by @gabibguti in PR 895

    Remove auxiliary GEQRS, GELQS by @angsch in PR 900

    CMake config for IntelLLVM (ifx) and NVIDIA HPC SDK (nvfortran)
    by @ACSimon33 in PR 898

    Fix build for CMake >= 3.27 by @scivision in PR 910

    allow absolute GNU install dirs by @chayleaf in PR 893

    dtgex2: add 2 to iwork length to prevent OOB interaction in Dtgsy2
    by @soypat in PR 907

    Adds OpenSSF Scorecard badge by @weslleyspereira in PR 896

    Fix issue #908 related to accumulation in xLASSQ by @weslleyspereira
    in PR 909

    Apply ROUNDUP_LWORK function in lapack by @kleineLi in PR 904

    Compilation of LAPACKE possibly independent from Fortran by
    @weslleyspereira in PR 834

    Always use C as linker language for CBLAS by @weslleyspereira in
    PR 920

    Uses Valgrind for ExperimentalMemCheck in ctest by @weslleyspereira
    in PR 844

    Adding in quotes in cmake for Intel ifx and linux build by @colleeneb
    in PR 922

    Fix complex BDSQR maxit by @pleshkovvli in PR 927

    xORBDB6/xUNBDB6: fix a constant by @christoph-conrads in PR 928

    Fixed Fortran preprocessor flag for NAG Fortran compiler by @ACSimon33
    in PR 939

    Fixed void main() for AppleClang by @ACSimon33 in PR 940
   2023-08-03 14:08:33 by Tobias Nygren | Files touched by this commit (1)
Log message:
lapack: revert previous, fixed in compiler/gcc.mk v1.1260
   2023-08-03 00:19:22 by Tobias Nygren | Files touched by this commit (1)
Log message:
lapack: add -fPIC to FFLAGS

Since we patch the build to install both static and dynamic shlibs,
we must ensure position independent code is used.

Fixes unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against
symbol `__stack_chk_guard'
   2023-01-24 19:36:36 by Thomas Klausner | Files touched by this commit (103)
Log message:
*: convert to cmake/build.mk
   2023-01-04 19:31:36 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
lapack & friends: update to 3.11.0

3.11.0

This is a major release and also addressing multiple bug fixes.

2.1. 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.

2.2 level-3 BLAS solvers for the triangular system and triangular
Sylvester equations 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 (s^{-1} X) and solve the scaled equation
AX + XB = s C. Due to the scaling factor, there is some flexibility
in the representation of the solution. The proposed level-3 BLAS
version 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.

2.3 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.

2.4 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).

2.5 Improvements on the building system and the Continuous Testing
framework

    Regression test for illegal modification of Y in *GEMV by
    @matcross in PR #622.

    Test the Fortran intrinsic ABS and complex divisions and report
    failures during build by @weslleyspereira in PR #623.

    Appveyor is working in the Continuous Testing once more by
    @martin-frbg in PR #627.

    More tests and fixes for type mismatches by @angsch in PR #675.

    Solve build issues with IBM XLF by @friedc in PR #677.

    Explicit type casts to INT by @angsch in PR #684.

    Fix an out-of-bounds write in the tests by @angsch in PR #685.

    Adding support for NAG Fortran compiler (nagfor) by @ACSimon33
    in PR #686.

    Fix time check flag propagation and default value by @ACSimon33
    in PR #696.

    Fixed format warnings in 64 bit integer builds by @ACSimon33
    in PR #700.

    Explicit type casts and more rigorous CI by @weslleyspereira
    in PR #703.

    Fix type mismatches in function calls of testing code by
    @mjacobse in PR #706.

    Fix lower triangular band matrix generation by @angsch in PR
    #728.

2.6 Other improvements

    Improves the computation of norms in {S,D}ORBDB6 and {C,Z}UNBDB6
    by @Christoph Conrads in PR #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 PR #655.

    Return immediately when scaling with one by @angsch in PR #674.

    Rearrange the application of the Householder reflectors in
    *LAQR5, which lowers the instruction count when FMA is available
    by @angsch in PR #681.

    Set SCALE early for robust triangular solvers by @angsch in PR
    #712.

    Add {C,Z}ROTG, {CS,ZD}ROT, {S,D}CABS1 to CBLAS by @angsch in
    PR #721.

    Add *LANGB to LAPACKE by @ACSimon33 in PR #725.

    NaN check for trapezoidal matrices on LAPACKE by @ACSimon33 in
    PR #738 and PR #742.

2.7 Bug fixes

    Fix LAPACKE_*tpmqrt_work for row-major matrices by @weslleyspereira
    in PR 540.

    Fix leading dimension check in LAPACKE’s *geesv[x] and *gges[x]
    by @angsch in PR 665.

    Fix the left-looking variant of GEQRF by @weslleyspereira in
    PR 690.

    Fix workspace query for *SYEVD and *HEEVD routines by
    neil-lindquist@neil-lindquist in PR 691.

    Fix behavior of SCALE in *LATBS and *LATRS, and avoids NaN
    generation if entries in CNORM exceed the overflow threshold
    by @angsch in PR 712.
   2022-04-21 12:30:23 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
lapack and friends: update to 3.10.1

This is a minor release addressing multiple bug fixes and improvements.
   2022-03-13 08:31:57 by Niclas Rosenvik | Files touched by this commit (2)
Log message:
Fix lapack parallel build when building both static and shared libs

lapack creates .mod files that are created in the same location
when the static and shared libraries these then interfere with each
other. put the .mod files created when buildling the static library
in a different directory to fix this.