Simulation of quantum mechanics
|The latest news from libquantum|
|2013-01-29||Release of libquantum 1.1.1|
|2010-03-20||A Rydberg quantum simulator|
|2008-09-09||Release of libquantum 1.1.0 and 1.0.0|
libquantum is a C library for the simulation of quantum mechanics, with a special focus laid to quantum computing. It started as a pure quantum computer simulator, but support for general quantum simulation has been recently added.
Based on the principles of quantum mechanics, libquantum provides an implementation of a quantum register. Basic operations for register manipulation such as the Hadamard gate or the Controlled-NOT gate are available through an easy-to-use interface. Measurements can be performed on either single qubits or the whole quantum register.
General quantum simulation
Besides quantum computing, libquantum is able to compute the time-evolution of arbitrary Hamiltonians, including time-dependent ones. This is done via numerical integration of the Schrödinger equation. Computing the time-evolution for time-independent Hamiltonians via exact diagonalization is also possible.
- Simulation of arbitrary quantum algorithms is possible
- High performance and low memory consumption
- Optional time-evolution using fourth-order Runge-Kutta or exact diagonalization, including optimizations for sparse Hamiltonians
- Decoherence support for realistic quantum computation
- Interface for quantum error correction (QEC)
- Supports the density operator formalism
- Implementations of Shor's factoring algorithm and Grover's search algorithm are included
- libquantum is available as Free Software under the terms of the GNU General Public License (GPL), version 3. See the file COPYING for further details.
libquantum requires a C compiler with complex number support. The simulator has been reported to work on the following platforms:
- GNU/Linux (This is the main development platform)
- Mac OS X
- HP Tru64 UNIX
- Official SPEC CPU2006 benchmark
- Jugend forscht Baden-Württemberg 2003 runner-up
libquantum has been written by Björn Butscher and Hendrik Weimer. The authors can be contacted at firstname.lastname@example.org.