Programs in Physics & Physical Chemistry
|[Licence| Download | New Version Template] aepi_v1_0.tar.gz(1106 Kbytes)|
|Manuscript Title: ZKCM: a C++ library for multiprecision matrix computation with applications in quantum information|
|Authors: Akira SaiToh|
|Program title: ZKCM|
|Catalogue identifier: AEPI_v1_0|
Distribution format: tar.gz
|Journal reference: Comput. Phys. Commun. 184(2013)2005|
|Programming language: C++.|
|Computer: General computers.|
|Operating system: Unix-like systems, such as Linux, Free BSD, Cygwin on Windows OS, etc.|
|RAM: Several mega bytes - several giga bytes, dependent on the problem instance|
|Keywords: Multiprecision computing, Linear algebra, Time-dependent matrix product state, Quantum information.|
|PACS: 02.60.Dc, 03.67.-a 02.70.-c.|
|Classification: 4.8, 4.15.|
External routines: GNU MP (GMP) , MPFR  Ver. 3.0.0 or later
Nature of problem:
Multiprecision computation is helpful to guarantee and/or evaluate the accuracy of simulation results in numerical physics. There is a potential demand for a programming library focusing on matrix computation usable for this purpose with a user-friendly syntax.
A C++ library ZKCM has been developed for multiprecision matrix computation. It provides matrix operations useful for numerical studies of physics, e.g., the tensor product (Kronecker product), the tracing-out operation, the inner product, the LU decomposition, the Hermitian-matrix diagonalization, the singular-value decomposition, and the discrete Fourier transform. For basic floating-point operations, GMP and MPFR libraries are used. An extension library ZKCM QC has also been developed, which employs the time-dependent matrix- product-state method to simulate quantum computing.
Multiprecision computation with more than a half thousand bit precision is often a thousand times slower than double-precision computation for any kind of matrix computation.
A user's manual is placed in the directory "doc" of the package. Each function is explained in a reference manual found in the directories "doc/html" and "doc/latex". Sample programs are placed in the directory "samples".
It takes less than thirty seconds to obtain a DFT spectrum for 216 data points of a time evolution of a quantum system described by a 4 × 4 matrix Hamiltonian for 256-bit precision when we use recent AMD or Intel CPU with 2.5 GHz or more CPU frequency. It takes three to five minutes to diagonalize a 100 × 100 Hermitian matrix for 512-bit precision using the aforementioned CPU.
|||The GNU Multiple Precision Arithmetic Library, http://gmplib.org/.|
|||L. Fousse et al., MPFR: A multiple-precision binary floating-point library with correct rounding, ACM Trans. Math. Software 33 (2007) 13, http://www.mpfr.org/.|
|Disclaimer | ScienceDirect | CPC Journal | CPC | QUB|