Path to this page:
Subject: CVS commit: pkgsrc/math/lapack
From: Thomas Klausner
Date: 2023-01-04 19:31:36
Message id: 20230104183136.91135FA90@cvs.NetBSD.org
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.
Files: