Commit Graph
12 Commits
Author SHA1 Message Date
NAKATA Maho 94f05be6c3 Fix incorrect INFO return codes from xSTEBZ in driver routines
In 26 driver routines across all four precisions (S, D, C, Z),
xSTEBZ was called writing directly to INFO, which was then
silently overwritten by xSTEIN.  Two bugs are fixed:

1. xSTEBZ errors were not propagated to the caller at all.

2. When xSTEBZ returned INFO > 0, eigenvectors were computed
   with an incomplete or empty eigenvalue set (INFO=2,3,4) or
   with reduced accuracy (INFO=1), producing silently wrong
   results.

Fix: route xSTEBZ return value through IINFO.  For INFO != 1,
skip xSTEIN entirely via GO TO.  For INFO == 1 (bisection
convergence warning), xSTEIN is still called since M eigenvalues
are available; the warning is preserved in INFO.

The xSTEBZ error is encoded as INFO = N + IINFO to distinguish
it from xSTEIN failures (1..N), matching the convention already
used for xPBSTF errors in the xBGVX routines.  For the four
xBGVX routines, which already use INFO = N+i for xPBSTF, the
xSTEBZ error is encoded as INFO = 2*N + IINFO.

Update INFO documentation in all 26 files accordingly.
Also add IINFO to the INTEGER declaration in dstevx.f and
sstevx.f where it was missing.

Files modified (26):
  SRC/chbevx.f, SRC/chbevx_2stage.f, SRC/chbgvx.f,
  SRC/cheevx.f, SRC/cheevx_2stage.f, SRC/chpevx.f,
  SRC/dsbevx.f, SRC/dsbevx_2stage.f, SRC/dsbgvx.f,
  SRC/dspevx.f, SRC/dstevx.f, SRC/dsyevx.f, SRC/dsyevx_2stage.f,
  SRC/ssbevx.f, SRC/ssbevx_2stage.f, SRC/ssbgvx.f,
  SRC/sspevx.f, SRC/sstevx.f, SRC/ssyevx.f, SRC/ssyevx_2stage.f,
  SRC/zhbevx.f, SRC/zhbevx_2stage.f, SRC/zhbgvx.f,
  SRC/zheevx.f, SRC/zheevx_2stage.f, SRC/zhpevx.f
2026-03-23 13:58:37 +09:00
Julie 59f136760f Update Source code to fix issue with links in Doxygen
Removed \htmlonly and \endhtmlonly (causing links to not work)
Increase DOT_GRAPH_MAX_NODES   to 200
2025-01-20 17:34:06 -08:00
Maria Kraynyuk 40ca7a2713 Include lapack_64.h only during the build 2024-02-05 10:54:04 -08:00
Maria Kraynyuk a1e8cb4845 LAPACK SRC long lines updated by script 2024-02-05 10:28:25 -08:00
Maria Kraynyuk b891145899 Add extended API with _64 suffix to LAPACK with lapack_64.h 2024-02-05 10:28:08 -08:00
kleine_li f01a4d7c5f Apply ROUNDUP_LWORK func in lapack 2023-10-31 21:53:10 +07:00
Mark Gates 62b19990a2 doxygen: new group structure 2023-07-04 01:29:12 -04:00
Julie e18d437924 Making LAPACK's code eternal... no more version and date in source files.
GitHub is now enabling us to track accurately version and date.
No need for this anymore.
2021-03-25 10:16:58 -07:00
Julie d97a30482e Updating Version number on files for 3.8.0 2017-11-12 20:15:12 -08:00
Nick Papior 7b651690c7 Added ilaenv2stage -> circumvents requirement of recursive compilation
Added ilaenv2stage.f to enable the extraction of 2stage machine dependent
variables from the 2stage solver without having to rely on compiling the
entire library with the recursive flag.

Secondly, all calls to ILAENV( 17 <= 21, ...) have been fixed to
use the corresponding ILAENV2STAGE routine by translating ISPEC by -16
I.e.

  ILAENV( 17, ...) == ILAENV2STAGE( 1, ...)

Also fixed the documentation of ilaenv.f to specify the cases of ISPEC > 16.

Signed-off-by: Nick Papior <nickpapior@gmail.com>
2017-07-20 13:26:56 +02:00
Julie bc6a755be4 Updating version number on source file modified since 3.6.1
This is really old school, but a lot of times we have users sending us
copy pasting of codes, and that is the only way to know the version of
the code.
2016-12-23 15:01:32 -08:00
Renegade b9c9d76311 adding the 2stage symmetric eigenvalue routines drivers checking 2016-11-06 20:35:15 -05:00