Commit Graph
3428 Commits
Author SHA1 Message Date
Simon Maertens 6030bc410a Fixed LAPACKE integer formats for 64bit build. 2022-08-08 16:41:30 +02:00
Simon Maertens 86d37075ed Fixed CBLAS integer formats for 64bit build. 2022-08-08 16:41:04 +02:00
Ivan Pribec 9079671c6a Add const to LAPACK_lsame_base 2022-08-08 14:52:46 +02:00
thijs e7033666f8 Use normwise criterion in multishift QZ 2022-08-08 10:48:34 +02:00
thijs c6994068c3 Use normwise criterion for inf eigenvalues in QZ 2022-08-08 10:28:18 +02:00
Simon Maertens 4c189dd8fc Fixed default value for TIME_FUNC. 2022-08-05 11:02:36 +02:00
Simon Maertens fc4d4ff59b Propagate Fortran flags as well as linker flags to the time check subproject. Enable verbose output (will only show in the log files). Bit of formatting. 2022-08-05 10:49:21 +02:00
langou 3381a0ec82 Merge pull request #685 from angsch/fixes
Fixes
2022-08-03 17:53:31 -06:00
Angelika Schwarz c8a5cf510e Fix out-of-bounds write in [ds]get40
The test driver allocates a scalar for INFO,
but the test writes to 3 entries. Revise
INFO allocation & propagation:

* Allocate sufficient space for the two INFOs
* Instead of discarding INFO computed in [ds]get40, return
  INFO to test driver
* Fix documentation of input/output arguments

[ds]get31: Fix typo in docs
2022-08-03 09:02:51 +01:00
Angelika Schwarz ecca781af8 Closes #217 2022-08-03 09:02:44 +01:00
Weslley S. Pereira 79bfdd46de Merge pull request #690 from weslleyspereira/master
Fix the left-looking variant of geqrf following #638
2022-07-18 11:20:41 -06:00
Weslley da Silva Pereira e9c4a7af8e Fix the left-looking variant of geqrf following #638 thanks to @angsch. 2022-07-18 10:27:56 -06:00
Weslley S. Pereira 675d71659f Merge pull request #693 from friedc/master
Revert "Do not check the FortranCInterface if LAPACKE is not built."
2022-07-17 20:10:23 -06:00
Christian Friedl 1de2b70cc8 Revert "Do not check the FortranCInterface if LAPACKE is not built."
This reverts commit 8d3ae005a3.
2022-07-16 12:21:07 +02:00
langou 8b3bbfa662 Merge pull request #647 from christoph-conrads/634-xORBDB6-performs-numerically-unadvisable-operations
Fix xORBDB6 performs numerically unadvisable operations
2022-07-15 11:22:37 -06:00
Weslley S. Pereira 3995eacd24 Merge pull request #691 from neil-lindquist/fix-evd-workspace-query
Fix workspace query for *syevd and *heevd routines
2022-07-14 14:19:42 -06:00
Christoph Conrads 145b1c329a xORBDB6/xUNBDB6: fix read of uninitialized variable
There is no warning with GCC 11 about an undeclared and uninitialized
varible being read without the `-Wextra` flag. Why?
2022-07-14 19:28:29 +00:00
Neil Lindquist 423813d720 Fix workspace query for *syevd and *heevd routines 2022-07-14 11:03:38 -04:00
Christoph Conrads 54b3964b0f ZUNBDB6: improve numerical stability, documentation
* Require unit-norm vector X for otherwise the following computations
  might underflow
* Avoid over- and underflows in the computation of the Euclidean norm of
  X
* Fix the Euclidean norm computation after the second Gram-Schmidt
  iteration
* Consider round-off errors when checking for zero vectors
* Update identifiers

Note that the caller ZUNBDB5 always passed unit-norm vectors X.

Thank you @angsch for discovering typos in the function names (`CLASSQ`
was called instead of `ZLASSQ`).
2022-07-10 19:35:19 +00:00
Christoph Conrads 6479e0f531 CUNBDB6: improve numerical stability, documentation
* Require unit-norm vector X for otherwise the following computations
  might underflow
* Avoid over- and underflows in the computation of the Euclidean norm of
  X
* Fix the Euclidean norm computation after the second Gram-Schmidt
  iteration
* Consider round-off errors when checking for zero vectors
* Update identifiers

Note that the caller CUNBDB5 always passed unit-norm vectors X.
2022-07-10 19:34:20 +00:00
Christoph Conrads 94419e8bfa DORBDB6: improve numerical stability, documentation
* Require unit-norm vector X for otherwise the following computations
  might underflow
* Avoid over- and underflows in the computation of the Euclidean norm of
  X
* Fix the Euclidean norm computation after the second Gram-Schmidt
  iteration
* Consider round-off errors when checking for zero vectors
* Update identifiers

Note that the caller DORBDB5 always passed unit-norm vectors X.
2022-07-10 19:34:20 +00:00
Christoph Conrads a015b21445 SORBDB6: replace integer literal with constant
This change makes it easier to port the recent changes to SORBDB6 to
(complex) double precision.
2022-07-10 19:34:20 +00:00
Christoph Conrads deed8f372d SORBDB6: improve numerical stability
* Require unit-norm vector X for otherwise the following computations
  might underflow
* Avoid over- and underflows in the computation of the Euclidean norm of
  X
* Fix the Euclidean norm computation after the second Gram-Schmidt
  iteration
* Consider round-off errors when checking for zero vectors
* Update identifiers
2022-07-10 19:34:20 +00:00
Christoph Conrads 774e5a9f7b SORBDB6: document algorithm, when output is zero 2022-07-10 19:34:20 +00:00
Christoph Conrads 643e7e3581 SORBDB6: fix indexing, set vectors to zero
This patch was authored by Brian D. Sutton and posted to the discussion
of LAPACK pull request #406.

* fix indexing for vector increments different from one
* always set vectors that are numerically zero to zero

Previously SORBDB6 would only set vectors to zero if a second iteration
of Gram-Schmidt was necessary. This would cause problems on the caller
site if the test for a zero vector differed from the SORBDB6 test for
zero.
2022-07-10 19:34:20 +00:00
Christoph Conrads bdcd890a18 SORCSD: fix documentation on matrix dimensions 2022-07-10 19:34:20 +00:00
Christoph Conrads d245b4f6ef SORCSD2BY1: remove dead code
The zeros are overwritten by the following SORGQR call.
2022-07-10 19:34:20 +00:00
Angelika Schwarz 0a6cd43189 Rewrite [ds]hgeqz to use FMA with Householder reflectors 2022-07-06 18:48:23 +01:00
Angelika Schwarz 9f9295f572 standardize style in laqr5 2022-07-06 18:48:23 +01:00
Angelika Schwarz 22d172188c Add missing numerical tests for TREVC3
At least some tests, though there are still code paths
that are not covered
* input sizes defined in nep.in are small
* RWORK in [CZ]TREVC3 is de factor defined as N-vector
  from the input file and limits the blocked computation
2022-07-06 18:48:17 +01:00
langou 4f97df9669 Merge pull request #677 from friedc/master
Solve build issues with ibm xlf
2022-07-05 08:38:36 -06:00
friedc f039b8c40a Merge branch 'master' into master 2022-07-05 16:23:35 +02:00
langou 08de16639d Merge pull request #687 from ACSimon33/fix_nagfor_warnings 2022-07-01 14:10:51 +02:00
Simon Maertens 7f2f7a339e Fixed nagfor warning: 'Low-precision data-value assigned to high-precision data-object' 2022-07-01 11:44:33 +01:00
langou fbeea59ddd Merge pull request #684 from angsch/gelss-work
GELSS: Cast work sizes to INT
2022-06-30 22:07:31 +02:00
langou 2789c76170 Merge pull request #686 from ACSimon33/cmake_nagfor_support
Adding NAG Fortran compiler (nagfor) support in the CMake build system.
2022-06-30 22:01:40 +02:00
Simon Maertens 7eacb5f6de Fixed line length > 72 in test files. 2022-06-29 09:43:18 +01:00
Simon Maertens 4dba796894 Added nagfor specific flags. 2022-06-29 09:41:57 +01:00
Angelika Schwarz 5355068120 GELSS: Cast work sizes to INT 2022-06-25 16:01:36 +01:00
langou 7d90a679e4 Merge pull request #681 from angsch/laqr5
Improve FMA usage in laqr5
2022-06-25 14:08:33 +02:00
Angelika Schwarz bd8f99b154 Improve FMA usage in laqr5
Rearrange the application of the Householder reflector
to save one instruction per dot product if FMA is
available.

The update from the right, H * (I - tau * v * v**T),
for example, changes from
    H - (tau * (H * v)) * v**T
to
    H - (H * (v * tau)) * v**T.
The instruction savings are due to the special structure
of v, whose first component is implicitly one (and used
for storing tau).
2022-06-20 17:08:12 +01:00
Christian Friedl 9551a31c68 Add proper ILP Flags for xlf. 2022-05-30 10:34:57 +02:00
friedc e5dc8d07c8 Replace empty strings with a single blank. 2022-05-30 09:37:24 +02:00
Christian Friedl 7939cb1b4d Replace empty strings with a single blank. This fixes errors when compiling with ibm xlf. 2022-05-29 22:15:29 +02:00
Christian Friedl 8d3ae005a3 Do not check the FortranCInterface if LAPACKE is not built. 2022-05-29 22:05:40 +02:00
langou f40d2208b9 Merge pull request #675 from angsch/tests
Improve testing
2022-05-25 17:57:21 -06:00
Angelika Schwarz d2a547a392 Fix precision mismatches in tests
* For REAL tests, replace 1.D0 with 1.0
* For CMPLX tests, replace CMPLX(1.D0, 1.D0) with CMPLX(1.0, 1.0)
* [sz]het01_aa.f: replace dimension cast DBLE(N) with REAL(N)
* [cz]syt01_aa.f: replace dimension cast DBLE(N) with REAL(N)
  and init CONE and CZERO as complex numbers
2022-05-25 19:36:47 +01:00
Angelika Schwarz b9b3c787fb Add missing error exit checks for nep
* add tests of TREVC3
* add workspace test for [DS]HSEQR that was already implemented for [CZ]HSEQR
2022-05-25 19:36:47 +01:00
Angelika Schwarz 50b17a234d Test error exists of [CZ]GEBD2
[SD]GEBD2 are already tested. Closes #47
2022-05-25 19:36:41 +01:00
langou 0eb77066be Merge pull request #674 from angsch/scal
Update scaling routines to return immediately when scaling with one
2022-05-21 10:25:48 -06:00