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.
Force compatibility with [ds]trsyl. Use two floating-point
scaling factors (rather than integer scaling factors).
This does not eliminate the problem that scalings can be flushed,
making any result useless. That problem could be eliminated
by replacing the floating-point scale factor with an integer
scale factor.
modified: TESTING/LIN/alahd.f
modified: TESTING/LIN/dchkaa.f
modified: TESTING/LIN/dchkorhr.f
modified: TESTING/LIN/derrorhr.f
modified: TESTING/LIN/dorhr01.f
Fixed dates ih the comments for Householder reconstruction related
SRC routines and TESTING/LIN testing routines in DOUBLE precision.
This required an overloaded ilaenv2stage in the ilaenv.f in the test
directories to use the PARMS(1) for ISPEC == 17.
Signed-off-by: Nick Papior <nickpapior@gmail.com>
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>
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.
Update Makefile to handle .F
Update Cmake build
Note: We have duplicate loop numbers due to Define statement that stops
the compilation with Cmake default option.
Fix coming very shortly
This is mostly a long term maintenance improvement.
Many coding styles require elimination of trailing whitespace, and
many editors and source code management configurations automatically
gobble up whitespace. When these tools gobble up whitespace, it
complicates reviewing the meaningful code changes.
By removing whitespace on one patch, it makes future
code reviews much easier.
=SCRIPT====================================================================
if which tempfile &>/dev/null; then
TEMPMAKER=tempfile
elif which mktemp &>/dev/null; then
TEMPMAKER=mktemp
else
echo "Cannot find tempfile program." 2>&1
exit 1
fi
MYTEMP=$($TEMPMAKER)
trap 'rm -f $MYTEMP' SIGINT SIGTERM
stripit() {
echo "stripping $1"
sed 's/[ \t]*$//' "$1" > $MYTEMP
cp $MYTEMP "$1"
}
if [ $# -gt 0 ]; then
while [ "$1" != "" ]; do
stripit $1
shift
done
else
while read -t 2; do
stripit $REPLY
done
fi
rm $MYTEMP
=================================================
From mark:
It blocks NB gemv calls into one gemm call inside trevc. To do that, it
needs a new routine, trevc3, because unfortunately the lwork was not
passed into trevc. (I highly recommend all new routines always pass
lwork and lrwork, where applicable, to enable future upgrades & to
catch lwork bugs.)
Use \par instead of \details for section.
add a Contributors Section and a Reference Section.
Remove (some) verbatim section when not needed.
Those changes have been done by hand so I am not sure I manage to catch them all.