Skip to content

General-purpose SDKs

RandomQuantum.jl

Maintained by BBN-Q

This Julia package provides functions to sample from various random matrix ensebles associated with quantum information applications.

JuliaCustom / project-specific
RandomQuantum.jl illustration

Resource snapshot

Category

General-purpose SDKs

Stars

13

Last pushed

Dec 16, 2022Updated 3y ago

Open issues

3

What it is

RandomQuantum.jl is maintained by BBN-Q and sits in the General-purpose SDKs lane of the open-source quantum map.

This Julia package provides functions to sample from various random matrix ensebles associated with quantum information applications.

Last verified by Qtangl generator on May 27, 2026

Who it's for

Developers who want a broad entry point for building circuits, experimenting with algorithms, and integrating quantum workflows into larger applications.

What you can build or learn

  • Prototype end-to-end circuit workflows without committing to a niche backend too early.
  • Learn how the project represents circuits, gates, jobs, and results.
  • Compare how a major ecosystem frames practical quantum development.

License

Custom / project-specific

SPDX identifier detected from the repository metadata or license files.

Repository README

Preview from the project README.

Rendered as Markdown inside a scrollable preview. Long READMEs stay contained; expand or open on GitHub for the full document.

~340 words · about 2 min readOpen on GitHub

RandomQuantum

Build Status

codecov

This Julia package provides functions to sample from various random matrix ensebles associated with quantum information applications.

Here is a table of currently support ensembles:

TypeEnsemble
GinibreEnsembleGinibre unitarily invariant matrix ensemble
FubiniStudyPureStateFubini-Study pure ensemble
FubiniStudyMixedStateMixed-state ensemble induced by tracing out elements of Fubini-Study ensenble on a larger space
HilbertSchmidtMixedStateMixed-state ensemble given by the "flat" Hilbert-Schmidt
BuresMixedStateMixed-state ensemble given by the Bures metric.
ClosedHaarEnsembleCircular Unitary Ensemble (CUE), unitaries distributed according to the Haar measure.
OpenHaarEnsembleQuantum channel ensemble induced by Haar-distributed unitaries (CUE) on a larger space.
RandomClosedEvolutionUnitary matrix ensemble obtained by evolving under a Hamiltonian sampled from a Gaussian unitary ensemble
RandomOpenEvolutionQuantum channel ensemble induced by integrated GUE evolution on a larger space.

The interface is emulates the interface of Distributions.jl, although there is a lot missing at the moment.

Installation

Install it with the following command:

  julia> Pkg.add("RandomQuantum")
  

For Julia v1.0 use the master branch:

  (v1.0) pkg> add RandomQuantum
 

Examples

julia> using RandomQuantum

julia> rand(BuresMixedState(2))
2x2 Array{Complex{Float64},2}:
   0.771511+0.0im       -0.0632581+0.116198im
 -0.0632581-0.116198im    0.228489+0.0im    

References

Francesco Mezzadri, How to Generate Random Matrices from the Classical Compact Groups Notices Amer Math Soc 54 4 592 (2007) arXiv:math-ph/0609050

Wojciech Bruzda, Valerio Cappellini, Hans-Jürgen Sommers, Karol Życzkowski, Random quantum operations, Physics Letters A, Volume 373, Issue 3, 12 January 2009, Pages 320-324 arXiv:0804.2361

Karol Życzkowski, Karol A. Penson, Ion Nechita, and Benoît Collins, Generating random density matrices, Journal of Mathematical Physics, 52, 062201 (2011) arXiv:1010.3570

License

MIT License

Acknowledgements

This research was funded by the Intelligence Advanced Research Projects Activity (IARPA) Multi Qubit Coherent Operations (MQCO) program under Contract No. W911NF-10-1-0324. All statements of fact, opinion, or conclusions contained herein are those of the authors and should not be construed as representing the official views or policies of IARPA, ODNI, or the US Government.

Copyright

(c) Raytheon BBN Technologies, 2015

Contributors

Marcus P S (@marcusps)

Read on GitHub

Activity

Latest release

—

Watchers

7

Python support

—

Learn digest

Get monthly updates when library entries change.

Monthly digest: new library entries, updated flagships, and one editorial pick.

Related resources

Keep exploring nearby tools.

quantumlib

Cirq

Python framework for creating, editing, and running Noisy Intermediate-Scale Quantum (NISQ) circuits.

PythonApache-2.0Flagship

4,971 stars · Updated 3mo ago

XanaduAI

pennylane

PennyLane is an open-source quantum software platform for quantum computing, quantum machine learning, and quantum chemistry.

PythonApache-2.0FlagshipQtangl relevant

3,229 stars · Updated 3mo ago

QISKit

qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

PythonApache-2.0FlagshipQtangl relevant

7,412 stars · Updated 3mo ago

Qiskit

qiskit-terra

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

PythonApache-2.0

7,412 stars · Updated 3mo ago

Microsoft

QuantumKatas

Tutorials and programming exercises for learning Q# and quantum computing

Jupyter NotebookMITFlagshipArchive

4,862 stars · Updated 2y ago

QuantumBFS

Yao.jl

Extensible, Efficient Quantum Algorithm Design for Humans.

JuliaApache-2.0Flagship

1,032 stars · Updated 3mo ago