  The MPLAPACK (formerly MPACK) is a multiple-precision version of LAPACK
(https://www.netlib.org/lapack/). MPLAPACK version 2.0.1 is based on LAPACK
version 3.9.1 and translated from Fortran 90 to C++ using FABLE, a Fortran to
C++ source-to-source conversion tool
(https://github.com/cctbx/cctbx_project/tree/master/fable/). MPLAPACK version
2.0.1 provides the real and complex version of MPBLAS, and the real and complex
versions of MPLAPACK support all LAPACK features: solvers for systems of
simultaneous linear equations, least-squares solutions of linear systems of
equations, eigenvalue problems, and singular value problems, and related matrix
factorizations except for mixed-precision routines. The MPLAPACK defines an API
for numerical linear algebra, similar to LAPACK. It is easy to port legacy
C/C++ numerical codes using MPLAPACK. MPLAPACK supports binary64, binary128,
FP80 (extended double), MPFR, GMP, and QD libraries (double-double and
quad-double). Users can choose MPFR or GMP for arbitrary accurate calculations,
double-double or quad-double for fast 32 or 64-decimal calculations. We can
consider the binary64 version as the C++ version of LAPACK. Moreover, it comes
with an OpenMP accelerated version of MPBLAS for some routines and CUDA (A100
and V100 support) for double-double versions of Rgemm and Rsyrk. The peak
performances of the OpenMP version are almost proportional to the number of
cores, and the performances of the CUDA version are impressive, and
approximately 400-600 GFlops. MPLAPACK is available at GitHub
(https://github.com/nakatamaho/mplapack/) under the 2-clause BSD license.
