Return
QCWAVE - A Mathematica quantum computer simulation update
DOI:10.1016/j.cpc.2011.04.010.png)
Abstract
En 中文
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 x 2, 4 x 4 or 8 x 8) matrices acting on the 2(nq) amplitudes for a system of n(q) 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. Program summary Program title: QCWAVE Catalogue identifier: ADXH_v3_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADXH_v3_0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 94 159 No. of bytes in distributed program, including test data, etc.: 734 158 Distribution format: tar.gz Programming language: Mathernatica 7.0 and 8.0. Computer: Any supporting Mathematica. Operating system: Any operating system that supports Mathematica; tested under Microsoft Windows XP, Macintosh OSX, and Linux FC4. Has the code been vectorised or parallelized?: Utilises Mathematica's (7.0 and 8.0) parallel computing features. Classification: 4.15. Catalogue identifier of previous version: ADXH_v2_0 Journal reference of previous version: Comput. Phys. Comm. 180 (2009) 474. Does the new version supersede the previous version?: Yes. This version supersedes all prior versions of QDENSITY. Nature of problem: Simulation of quantum circuits, quantum algorithms, noise and quantum error correction. Solution method: A Mathematica package containing commands to create and analyze quantum circuits is upgraded and extended, with emphasis on state amplitudes. Several Mathematica notebooks containing relevant examples are explained in detail. The parallel computing feature of Mathematica is used to develop a multiverse approach for including noise and forming suitable ensemble averaged density matrix evolution. Error correction is simulated. Reasons for new version: The new version updates QDENSITY to run on Mathematica 7.0 and 8.0 and makes it compatible with our extension QCWAVE. QCWAVE emphasizes wavefunctions with efficient gate operations and also extends the code to use the parallel computing features of Mathematica 7.0-8.0. Circuit diagram and amplitude display are new features. Dirac display of states is also provided. Summary of revisions: The revisions include working with state vectors and the implementation of efficient Op1, Op2 and Op3, one, two, three gate operators. Parallel processing is used to form a multiverse approach for simulating noise effects and error corrections in quantum operations. Drawing circuit diagrams and displaying amplitude evolution has been added. A simple Dirac display feature DForm has also been provided. Running time: The notebooks provided in the distribution package take only a matter of minutes to execute. (C) 2011 Elsevier B.V. All rights reserved.
Keywords:
Quantum computation
Mathematica
Quantum simulation
Quantum algorithms
AI Summary
Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.
Journal
IF:
3.4
Papers:
1.2W
Citations:
3.7W

