A Kogbetliantz-type SVD for general matrices.
(... work in progress ...)
This software is a supplementary material for:
- the preprint arXiv:2407.13116.
Several routines and executables require having quadruple precision (KIND=REAL128
) fully supported by the compiler.
First, clone libpvn repository, with the same parent directory as this one has (e.g., venovako/libpvn
and venovako/KogAcc
).
Then, build the libpvn
library, with the same family of compilers and (no-)debug mode as it is meant to be used here (e.g., with icx
if ifx
is desired).
Please set the option SAFE=sv2
for libpvn
.
Please avoid using gfortran
, and gcc
for libpvn
, for now.
Building the documentation requires a recent version of Doxygen and Graphviz. Many routines are documented only rudimentary for now.
The correctly-rounded cr_hypot
and cr_hypotf
functions are expected to be provided by the CORE-MATH project.
Please consult the description of libpvn
for more information.
All testing has been performed with the correctly rounded functions.
Even though it is technically feasible not to use them, this should be attempted only if necessary.
Run make help
(GNU make assumed) in the src
subdirectory.
Setting NDEBUG
to, e.g., 3
is recommened.
This work has been supported in part by Croatian Science Foundation under the project IP-2014-09-3670 (MFBDA).