Annals of Physics vol 383

August 2017, Pages 33–78

"Model dynamics for quantum computing"

Frank Tabakin

Link to full paper


Link to Annals of Physics posting



Earlier papers on quantum computing

Simulation of a Quantum Computer

Download | News | Contributions

NEW: Mathematic 9.0----10.3-

An upgraded and extended version is now available.
The description is in the paper: 
Copies of the new Package and numerous associated tutorials are available
by clicking here:  

The  tutorial notebooks are located in the QDENSITY/TUTORIAL directory.

See the INSTALL notebook for installation


or by emailing:


NEW: Mathematic 9.0-----

Mathematica 9 includes a definition of TensorProduct.
Therefore, to use Qdensity with Mathematica 9.0,
you need to change the package file Qdensity.m by changing
TensorProduct to TensorProductQD everywhere it appears in
the package file Qdensity.m.
A corrected Qdensity.m file can be downloaded at:

NEW: VERSION 4.0-----
There is an addition to the codes "QDENSITY" + "QCWAVE," which
includes quantum systems that are composed of both qubits and qutrits.
These systems include binary (B) qubits and triplet(T) or qutrits,
and hence we call this package BTSystem.  You need to access the zip file
which includes a tutorial "BTtutorial.nb," and the package BTSystem.m.
You should place the BTSystem.m  file along with the Circuits.m, QCwave.m, and Qdensity.m files
in the directory stipulated in the tutorial.

VERSION 3.0-----
There is a recent version "QCWAVE,"with many new features available at

Associated paper"
"QCWAVE, a Mathematica quantum computer simulation update", by

Frank Tabakin, Bruno Julia-Diaz
posted at
and published in Comput. Phys. Commun. 182(2011)1693.

This Mathematica 6.0 package is a simulation of a Quantum Computer.

The program provides a modular, instructive approach for generating the basic elements that make up a quantum circuit.

The package commands are defined in Qdensity.m which contains the tools needed in quantum circuits, e.g. multiquibit kets, projectors, gates, etc.

A tutorial notebook, Tutorial.nb is provided which should serve as a guide to  the package.

Relevant cases, including
  • Teleportation,
  • Quantum fourier transform,
  • Grover's search and
  • Shor's algorithm,
are given in separate notebooks: QFT.nb, Teleportation.nb, Grover.nb and  Shor.nb where each algorithm is explained in detail.

Finally, two examples of the construction and manipulation of cluster states, which are part of  ``one way computing" ideas, are included as an additional tool in the notebook Cluster.nb. A mathematica palette containing most commands in QDENSITY is also included: QDENSpalette.nb

The manual reference is:

Bruno Julia Diaz, Joseph M. Burdis and Frank Tabakin,

Computer Physics Communications 174 (2006) 914
Downloads: (Last Modifed 26-Aug-2007)


We have updated the package to make it fully
compatible with Mathematica 6.0
The QDENSITY package, including:


can be downloaded as a zip file, QDENSITY.2.0.zip. The notebooks can be very conveniently browsed using the Mathematica's Help Browser. The installation is VERY EASY, just follow the short README.txt file
Courtesy of Jose Luis Gomez

The previous version can be obtained here,

The package has been tested using Mathematica 5.0 and 5.2, some functions, using recurrence formulas, may not work in previous versions.
As provided, print the manual and run the tutorial, Tutorial.nb, and get started on how to use QDENSITY to build Quantum Circuits.
Feedback, corrections, and commentaries are more than welcome, please email them to tabakin@pitt.edu or bjulia@gmail.com
Here are three snapshots of a part of the Tutorial and of Shor and of the Mathematica QDENSITY palette.

(c) Bruno Juliá Díaz and Frank Tabakin

University of Pittsburgh
Department of Physics and Astronomy
Pittsburgh,  PA 15260   http://www.pitt.edu/~tabakin/QDENSITY/index.htm
  Phone: 1-412-624-9025
  email: tabakin@pitt.edu
Nedstat Basic - Free web
                site statistics Free counter and stats for your website on