zbMATH — the first resource for mathematics

QCWAVE - A Mathematica quantum computer simulation update. (English) Zbl 1262.81036
Summary: This Mathematica 7.0/8.0 package upgrades and extends the quantum computer simulation code called QDENSITY. Use of the density matrix was emphasized in QDENSITY, although that code was also applicable to a quantum state description. In the present version, the quantum state version is stressed and made amenable to future extensions to parallel computer simulations. The add-on QCWAVE extends QDENSITY in several ways. The first way is to describe the action of one, two and three-qubit quantum gates as a set of small (\(2\times 2, 4\times 4\) or \(8\times 8\)) matrices acting on the \(2^{n_{q}}\) amplitudes for a system of nq qubits. This procedure was described in our parallel computer simulation QCMPI and is reviewed here. The advantage is that smaller storage demands are made, without loss of speed, and that the procedure can take advantage of message passing interface (MPI) techniques, which will hopefully be generally available in future Mathematica versions.
Another extension of QDENSITY provided here is a multiverse approach, as described in our QCMPI paper. This multiverse approach involves using the present slave–master parallel processing capabilities of Mathematica 7.0/8.0 to simulate errors and error correction. The basic idea is that parallel versions of QCWAVE run simultaneously with random errors introduced on some of the processors, with an ensemble average used to represent the real world situation. Within this approach, error correction steps can be simulated and their efficacy tested. This capability allows one to examine the detrimental effects of errors and the benefits of error correction on particular quantum algorithms.
Other upgrades provided in this version include circuit-diagram drawing commands, better Dirac form and amplitude display features. These are included in the add-ons QCWave.m and Circuits.m, and are illustrated in tutorial notebooks.
In separate notebooks, QCWAVE is applied to sample algorithms in which the parallel multiverse setup is illustrated and error correction is simulated. These extensions and upgrades will hopefully help in both instruction and in application to QC dynamics and error correction studies.

81P68 Quantum computation
68Q12 Quantum algorithms and complexity in the theory of computing
68U20 Simulation (MSC2010)
81-04 Software, source code, etc. for problems pertaining to quantum theory
81T80 Simulation and numerical modelling (quantum field theory) (MSC2010)
Full Text: DOI
[1] Juliá-Díaz, Bruno; Burdis, Joseph M.; Tabakin, Frank, QDENSITY — A Mathematica quantum computer simulation, Comput. phys. comm., Comput. phys. comm., 1, 80, 474-934, (2009), and for our QCWAVE webpage · Zbl 1198.81018
[2] See · Zbl 1040.68138
[3] Gómez-Muñoz, José Luis, A free Mathematica add-on for Dirac bra-ket notation, quantum algebra and quantum computing
[4] Lapeyre, J., Qinf quantum information and entanglement package for the maxima computer algebra system
[5] Tabakin, Frank; Juliá-Díaz, Bruno, QCMPI: A parallel environment for quantum computing, Comput. phys. comm., 180, 948-964, (2009) · Zbl 1198.81023
[6] A list of current quantum computer simulators is kept at
[7] De Raedt, H.; Michielsen, K., Computational methods for simulating quantum computers, Handbook of theoretical and computational nanotechnology, (2006), American Scientific Publishers · Zbl 1196.81056
[8] Liquantum
[9] Dirac, P.A.M., The principles of quantum mechanics, ISBN: 0198520115, (1958), Oxford University Press USA · Zbl 0080.22005
[10] Messiah, Albert, Quantum mechanics, ISBN: 0486409244, (1999), Dover Publications · Zbl 0102.42602
[11] Nielsen, Michael A.; Chuang, Isaac I., Quantum computation and quantum information, (2000), Cambridge University Press · Zbl 1049.81015
[12] See:
[13] A Mathematica MPI code is available at
[14] CLOJURATICA is available at http://clojuratica.weebly.com/index.html. It combines the advantages of Mathematica with the Clojure language and “includes a concurrency framework that lets multiple Clojure threads execute Mathematica expressions without blocking others…”.
[15] Feynman, R.P.; Hibbs, A.R., Quantum mechanics and path integrals, (1965), McGraw-Hill New York · Zbl 0176.54902
[16] Griffiths, R.B., Consistent quantum theory, (2003), Cambridge University Press
[17] Preskill, John, Lecture notes on quantum information and computation, see: Chapters 3.2-3.5 · Zbl 0915.68052
[18] Lindblad, G., Comm. math. phys., 4, 119, (1976)
[19] Gottesman, D., A theory of fault-tolerant quantum computation, Phys. rev. A, 57, 127-137, (1998)
[20] Grover, L.K., Phys. rev. lett., 79, 325-328, (1997)
[21] Bennett, C.H.; Brassard, G.; Crépeau, C.; Jozsa, R.; Peres, A.; Wootters, W.K., Phys. rev. lett., 70, 1895-1899, (1993)
[22] Shor, Peter W., SIAM J. comput., 26, 5, 1484, (1997)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.