The MPACK; Multiple precision arithmetic BLAS (MBLAS) and LAPACK (MLAPACK)


What is the mpack?

The MPACK is a free library for arbitrary/higher precision linear algebra. It consists of MBLAS and MLAPACK, multiple precision arithmetic versions of BLAS and LAPACK, respectively. It supports various multiple precision arithmetic libraries like GMP, MPFR, and QD, as well as IEEE 754 binary128 (via gcc's extension __float128)


Accuracy to linear algebla is very important. However, there were very small number of libraries for linear algebra calculation in multiple precision arithmetic. This is the reason that I developed the MPACK, Multiple precision arithmetic BLAS (MBLAS) and LAPACK (MLAPACK).
The BLAS and LAPACK are widely used FORTRAN77 routines and many optimized implementations are available, like ATLAS and GotoBLAS. Therefore, API of MBLAS and MLAPACK is very similar to BLAS and LAPACK. Like BLAS and LAPACK, MPACK must be a free software. Thus, the MPACK is distributed under GNU Lesser General Public License. The MLAPACK is a subset of the LAPACK, not all routines will be provided.
For multiple precision arithmetic, I use the GMP library, and QD library. The authors of GMP library states "the fastest bignum library on the planet!", and QD/DD are much faster than GMP if you don't need more precision. Historically, I developed SDPA-GMP, which is a multiple precision arithmetic version of SemiDefinite programming solver using the GMP library.

Where to use?


The complete list of the news has been found at history page.

Current status (0.7.0)

Download packages and development

Currently only distributed as source code.


Available Routines

Mailing list

Mplapack-devel ML is available.


These "blas.h" and "lapack.h" based on LAPACK 3.1 can be used for when you want to link LAPACK and BLAS routines from your C/C++ programs. You should also define if you are using GNU FORTRAN:
#define F77_FUNC(name,NAME) name ## _ 
#define F77_FUNC(name,NAME) name
etc. Easist way to (implicitly) add this by using "AC_F77_WRAPPERS" via

Slides, posters etc.

Future plans




Supported multiple precision arithmetic libraries


MPACK is licensed under 2-caluse BSD style license. Since version 0.6.7, we no longer use LGPLv3.


中田真秀 (NAKATA Maho)
NAKATA Maho's E-mail address are following. Web pages


Papers citing MPACK


M.N. has been supported by:


I'd like to thank all people for encouragements, discussions, etc, in particular,
$Id: index.html,v 1.61 2011/10/29 03:50:49 nakatamaho Exp $