ZKCM library is a C++ library for multi-precision complex-number matrix calculations.
ZKCM_QC library is an extension package for matrix-product-state simulation of quantum computing.
[Download files] [Documents] [Extension package (ZKCM_QC)]
The current stable version of ZKCM is 0.4.6. There is a very minor patch for its documentation part, which can be skipped.
The current development version of ZKCM is identical to the stable version.
The latest beta version is found at the git repository Code Main Lib.
The latest alpha and beta versions of the extension package are found at the git repository Code Qc Lib.
13 November 2025: The latest release version of ZKCM_QC has been uploaded.
11 February 2025: A very minor patch for ver.0.4.6 has been released, but this can be ignored as this is just a modification of some small part of documentation. This patch does not affect the generated binaries.
17 September 2024: The latest release version of ZKCM_QC has been uploaded.
23 June 2024: ver.0.4.6 has been released. It involves several improvements and new functions; especially those for Moore-Penrose inverse.
23 March 2024: ver.0.4.5beta3 has been open to public. This is again a release candidate for ver.0.4.6.
4 January 2024: ver.0.4.5beta2 has been open to public. This is a quick fix of the previous version and is a release candidate for ver.0.4.6.
1 January 2024: ver.0.4.5beta has been open to public. This is a release candidate for ver.0.4.6.
See [Older News] for previous announcements.
ZKCM library is a C++ library for multi-precision complex-number matrix calculations, that has been developed since 2011. It provides several functionalities including singular value decomposition, tensor product calculation, tracing-out operations, FFT, Moore-Penrose inverse, etc.
It is based on the GNU MP (GMP) and MPFR libraries, which are usually found as standard packages in recent Linux distributions.
Documentations are found in the "doc" directory of the package. They are also placed at [Documents] in the PDF file format.
MPFR >= 3.0.0 and GMP. In addition, a UNIX(-like) environment with GNU tools is required, such as some Linux distribution, some BSD system, Cygwin on Windows, etc., to compile the zkcm library.
See the document in the directory ./doc. In short, it is just a standard process:
$ ./configure
$ make
# make install
In case you have errors when running configure, maybe you may type
$ autoconf
$ autoheader
$ ./configure
$ make
# make install
Or, you may use a copy of Makefile.orig found in the tar ball for Makefile.
See the [Documents] for details. In short, your source file should write
#include "zkcm.hpp"
and use classes and appropriate functions defined in the header files of the zkcm library.
The zkcm library is based on the GMP and MPFR libraries. Thus, you probably need flags
-lzkcm -lmpfr -lgmp -lgmpxx -lm
to compile your program with the zkcm library using g++.
Note: As the zkcm library is a static library, your program should be recompiled when a new version of zkcm is installed.
You may uninstall the library by
# make uninstall
This will remove not only the library files but also the directory ${prefix}/share/doc/zkcm-x.x.x completely. Thus, make sure that you don't have your own files in the directory before typing the above command.