Some SLATRS3 tests were failing with OpenBLAS where the RHS has
a BIGNUM (=Infinity in this test) component. OpenBLAS SSCAL, when
multiplying with 0, will turn this component into 0, unlike
reference BLAS which turns it into NaN. While NaN looks more correct
it still did not explain why DLATRS3 tests were succeeding where
DSCAL has the same difference between reference and OpenBLAS.
Diffing the test code unmasked a few bugs, which makes the test succeed
and also unmasked a bug in the CLATRS3 test.
The ZLATRS3 and DLATRS3 tests look correct to me.
squares algorithm that solves overdetermined or underdetermined systems for
GE matrices using QR or LQ factorization with compact WY representation
of Q inside the routine.
*GELST is similar to *GELS, but unlike *GELS does not compute triangular blocks
twice, i.e. runs faster.
modified: SRC/Makefile
new file: SRC/cgelst.f
new file: SRC/dgelst.f
new file: SRC/sgelst.f
new file: SRC/zgelst.f
modified: TESTING/LIN/alahd.f
modified: TESTING/LIN/cdrvls.f
modified: TESTING/LIN/cerrls.f
modified: TESTING/LIN/ddrvls.f
modified: TESTING/LIN/derrls.f
modified: TESTING/LIN/sdrvls.f
modified: TESTING/LIN/serrls.f
modified: TESTING/LIN/zdrvls.f
An extensions of LATRS solving T*x = s*x to many right-hand sides,
allowing the usage of BLAS-3.
The new algorithm tends to use less aggressive scaling,
in particular for larger matrices.
The tests of ztrsyl via zget35 are on tiny matrices that fall into the
unblocked section of ztrsyl3. Add a new test file that checks ztrsyl(3)
for larger matrices and their compatibility: Every problem that is
solvable by ztrsyl must be solvable by ztrsyl3.
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
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