QDENSITY
Simulation of a Quantum Computer

Download | News | Contributions

Recent Version: 9-July-2013

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:
Qdensity.m

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.
http://www.pitt.edu/~tabakin/BT

VERSION 3.0-----
There is a recent version "QCWAVE,"with many new features available at
 
http://www.pitt.edu/~tabakin/QW

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

Frank Tabakin, Bruno Julia-Diaz
is
posted at
http://arxiv.org/abs/1101.1785
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)

NEW: VERSION 2.0 

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

Cluster.nb
Teleportation.nb
Grover.nb
QFT.nb
Shor.nb
Tutorial.nb

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
README.txt
Courtesy of Jose Luis Gomez


The previous version can be obtained here,
QDENSITY.1.0.zip


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
            bjulia@gmail.com

.