Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aenx_v1_0.tar.gz(49 Kbytes)
Manuscript Title: Qcompiler: quantum compilation with CSD method
Authors: Y G. Chen, J.B. Wang
Program title: Qcompiler
Catalogue identifier: AENX_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 184(2013)853
Programming language: Fortran.
Computer: Any computer with a Fortran compiler.
Operating system: Linux, Mac OS X 10.5 (and later).
RAM: Depends on the size of the unitary matrix to be decomposed
Keywords: Quantum compiler, Quantum circuit, Unitary matrix, Quantum gate, Quantum algorithm.
Classification: 4.15.

External routines: Lapack (http://www.netlib.org/lapack/)

Nature of problem:
Decompose any given unitary operation into a quantum circuit with only elementary quantum logic gates.

Solution method:
This package decomposes an arbitrary unitary matrix, by applying the CSD algorithm recursively, into a series of block-diagonal matrices, which can then be readily associated with elementary quantum gates to form a quantum circuit.

The only limitation is imposed by the available memory on the user's computer.

Additional comments:
This package is applicable for any arbitrary unitary matrices, both real and complex. If the unitary matrix is real, its corresponding quantum circuit is much simpler with only half number of quantum gates in comparison with complex matrices of the same size.

Running time:
Memory and CPU time requirements depend critically on the size of the unitary matrix to be decomposed. Run-time is dominated by the recursive CSD. Most examples presented in this paper require a few minutes of CPU time on Intel Pentium Dual Core 2 Duo E2200 @ 2.2GHz.