Skip to content
A Julia package for numerical computation in quantum information theory
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Improvement of documentation Dec 3, 2018
examples Fix process results Nov 30, 2018
randommatrices A bit faster CUE sampling Oct 3, 2018
src Pg/dimfix (#56) Mar 29, 2019
test added both primal and dual formulation of diamond distance Mar 14, 2019
.gitignore Julia version numbers fix Jan 29, 2019
.travis.yml Update .travis.yml Jan 27, 2019 initial commit Sep 11, 2014
Project.toml Update Project.toml Mar 29, 2019 Update Feb 3, 2019
REQUIRE Julia version numbers fix Jan 29, 2019

Build Status Coverage Status DOI


A Julia package for numerical computation in quantum information theory.

Numerical investigations are prevalent in quantum information theory. Numerical experiments can be used to find counter examples for theorems, to test hypotheses or to gain insight about quantum objects and operations.

Our goal while designing QuantumInformation.jl library was to follow principles presented in book "Geometry of Quantum States'' [1]. We work with column vectors reprinting kets and row vectors representing bras. We fix our basis to the computational one. Density matrices and quantum channels are represented as two dimensional arrays in the same fixed basis. This approach allows us to obtain low level complexity of our code, high flexibility and good computational efficiency. The design choices where highly motivated by the properties of the language in which the our library was implemented, namely Julia [2].

Package features

The purpose of QuantumInformation.jl library is to provide functions to:

  • creating and analyzing quantum states,
  • manipulating them with quantum channels
  • calculating functionals on these objects, i.e. trace norm, diamond norm, entropy, fidelity,
  • application of random matrix theory in quantum information processing.

How to cite

  doi = {10.1371/journal.pone.0209358},
  url = {},
  year  = {2018},
  month = {dec},
  publisher = {Public Library of Science ({PLoS})},
  volume = {13},
  number = {12},
  pages = {e0209358},
  author = {Piotr Gawron and Dariusz Kurzyk and {\L}ukasz Pawela},
  editor = {Nicholas Chancellor},
  title = {{QuantumInformation}.jl{\textemdash}A Julia package for numerical computation in quantum information theory},
  journal = {{PLOS} {ONE}}

[References](@id refs)

[1] I. Bengtsson, K. Życzkowski, Geometry of Quantum States: An Introduction to Quantum Entanglement, Cambridge University Press (2008).

[2] J. Bezanson, S. Karpinski, V. B. Shah, A. Edelman, Julia: A fast dynamic language for technical computing, preprint.

You can’t perform that action at this time.