Eqcs-0.0.6
Peter Belkner <pbelkner@berlin.snafu.de>
29.10.2005
:
Did some minor syntactical changes in order to compensate for evolving C++ standards.
Eqcs-0.0.6 now compiles at least under Cygwin g++ 3.4.4.
27.10.2005
:
Eqcs is referenced in "Computational Methods for Simulating Quantum Computers" by H.
De Raedt, K. Michielsen (quant-ph/0406210) appearing in the "Handbook of Theoretical
and Computational Nanotechnology" (American Scientific Publishers,
http://www.aspbs.com/tcn.html).
Eqcs is a library allowing clients to simulate a quantum computer. The name of the library was chosen
because
• it contains the letters QC, the well known abbreviation for quantum computer,
• it is an experimental afford on the basis of the OpenQubit project (formerly
http://www.openqubit.org/, see http://www.ennui.net/~quantum/) just like egcs (formerly
http://egcs.cygnus.com/, see http://en.wikipedia.org/wiki/EGCS) is with respect to gcc, the
GNU C-compiler.
If you like to download the eqcs source code you may start with listing available versions or directly
download the latest version. Note that compiling the source code requires g++ 2.81 or egcs.
The core of the eqcs library is made up by the following classes:
EqcsBitset
a classical bitset. The class EqcsBitset is declared in file "eqcs_bitset.h"
EqcsState
a quantum bitset, i.e. a complex superposition of EqcsBitsets. The class EqcsState is declared in
file "eqcs_state.h"
EqcsGate
an (unitary) operator acting on a subset of an EqcsState's bits. EqcsGate itself is an abstract class
from which EqcsLambda is the most useful concrete specialization. Note that EqcsLambda is due
to quant-ph/9503016 (Barenco et.al.: Elementary gates for quantum computation). The classes
EqcsGate and EqcsLambda are declared in files "eqcs_gate.h" and "eqcs_lambda.h",
respectively.
EqcsGateArray
a sequence of EqcsGates. The class EqcsGateArray is declared in file
"eqcs_gate_array.h"
EqcsQc
a quantum computer holding an EqcsState and beeing able to accept EqcsGateArrays as
programs. It performs the program by successively applying the EqcsGates form the
EqcsGateArray to it's EqcsState. The class EqcsQc is declared in file "eqcs_qc.h"
On the user level the eqcs library provides the following class:
EqcsVedral
provides methods for constructing EqcsGateArrays performing arithmetics as proposed in quant-
ph/9511018 (Vedral et.al.: Quantum networks for elementary arithmetic operations). The class