Abstract
ZKCM is a C++ library developed for the purpose of multiprecision matrix computation, on the basis of the GNU MP and MPFR libraries. It provides an easy-to-use syntax and convenient functions for matrix manipulations including those often used in numerical simulations in quantum physics. Its extension library, ZKCM_QC, is developed for simulating quantum computing using the time-dependent matrix-product-state simulation method. This paper gives an introduction about the libraries with practical sample programs. Program SummaryProgram title: ZKCMCatalogue identifier: AEPI_v1_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEPI_v1_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU Lesser General Public License, version 3No. of lines in distributed program, including test data, etc.: 95600No. of bytes in distributed program, including test data, etc.: 1133481Distribution format: tar.gzProgramming 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 instanceClassification: 4.8, 4.15.External routines: GNU MP (GMP) [1], MPFR [2] Ver. 3.0.0 or laterNature 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.Solution method: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.Restrictions: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.Additional comments: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”.Running time: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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have