Skip to content

List of quantum information and computation projects in Julia

License

Notifications You must be signed in to change notification settings

stjordanis/JuliaQuantumInformation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 

Repository files navigation

Quantum-information and -computing related Julia projects

This README is a list of Julia projects, packages, and organizations for quantum information science and technology and related fields, such as condensed matter physics. It includes links to related lists and other resources.

If you would like to add a project to this list, please feel free to make a pull request. If you don't have time to make a pull request, please open an issue.

Notes

  • The names of these packages typically end in .jl. In particular, the suffix is included to distinguish packages from similarly-named non-Julia packages.
  • The date of the most recent development activity appears just after the name of the package.
  • Blurbs taken from the sites should be in italics (asterisks in markdown)
  • Packages that support quantum information packages (e.g. tensor packages) are included here.

Organizations

  • Cliffords.jl (12 2020) - Efficient calculation of Clifford circuits.
  • QuantumTomography.jl (12 2020) - Quantum state- and process tomography.
  • QGL.jl (04 2018) - A performance orientated QGL compiler. This is a Julia reimplemenation of QGL (05 2020) (Quantum Gate Language), a python library.
  • MESolve.jl (03 2021) - Master Equation Solver.
  • QuantumInfo.jl (12 2020) - Library for quantum information related calculations.
  • QSimulator.jl (11 2019) - Unitary and Lindbladian evolution.
  • RandomQuantum.jl (12 2019) - Package for generating random quantum states and processes according to a number of natural distributions.
  • PAPA.jl (12 2019) - PAirwise Perturbative Ansatz for Better Estimation And Runtime.
  • SchattenNorms.jl (12 2020) - Schatten norms, including completely bounded norms, such as Kitaev's diamond norm (ubiquitous in, e.g., quantum information processing
  • MathieuFunctions.jl (03 2020) - For computing anharmonic quantum oscillator energies.

Quantum computing hardware

A group of quantum developers around Bao Fu Si (Temple).

The QuantumBFS org maintains a mostly integrated set of about 20 packages for quantum computaion. They are centered around Yao.jl.

Jutho Jutho Haegeman's tensor code

  • TensorOperations.jl (07 2021) - tensor contractions and related operations.
  • WignerSymbols.jl (07 2021) - computing Wigner symbols and related quantities.
  • LinearMaps.jl (07 2021) - defining and working with linear maps, also known as linear transformations or linear operators acting on vectors. The only requirement for a LinearMap is that it can act on a vector (by multiplication) efficiently.
  • TensorKit.jl (07 2021) - large-scale tensor computations, with a hint of category theory

JuliaQX (07 2021) Quantum Circuits using tensor networks

The following list is not exhaustive

  • ITensors.jl (06 2021) - efficient tensor computations and tensor network calculations
  • NDTensors.jl (05 2021) - n-dimensional sparse tensors.
  • PEPS.jl (06 2020) - Projected entangled pair states.

IITiS PAN (Institute of Theoretical and Applied Informatics of the Polish Academy of Sciences)

  • QuantumInformation.jl (06 2021) - numerical computation in quantum information theory.
  • QSWalk.jl (04 2020) - simulating the evolution of open quantum systems on graphs.
  • QContinuousMeasurement.jl (06 2021)
  • ContinuousMeasurementFI (05 2019) Fisher information for magnetometry and frequency estimation with continuously monitored spin systems, with independent Markovian noise acting on each spin.
  • QuasiHamiltonianRTN (11 2018) evaluating the dynamics of a quantum system affected by one or more sources of random telegraph noise
  • ExpmV.jl (01 2019) function for computing expm(t*A)*v when A is sparse, without explicitly computing expm(A) (Based on original by Marcus P da Silva)
  • QuantumSpatialSearch (11 2018)

The following are used to model super-conducting architectures.

PainterQubits (06 2021)

Topics

Optimal Quantum Control

  • JuliaQuantumControl (11 2021) - packages implementing a comprehensive collection of methods of open-loop quantum optimal control.

Simulation of Quantum Computers

  • PastaQ.jl (06 2021) - PastaQ is a julia package for simulating and benchmarking quantum computers using a combination of machine learning and tensor network algorithms.
  • QuantumClifford.jl (06 2021) - High-performance simulator of Clifford circuits using the Stabilizer / Tableau formalism and extensions.

Simulation of quantum systems

Quantum Optics (QOJulia)

  • QuantumOptics.jl (06 2021) - a numerical framework written in Julia that makes it easy to simulate various kinds of quantum systems. It is inspired by the Quantum Optics Toolbox for MATLAB and the Python framework QuTiP. This is evidently more general than quantum optics.

Schrodinger.jl (05 2021) - Fast and easy simulation of quantum mechanical systems.

Utilities

  • ILog2 (10 2021) a fast implementation integer-valued, base 2 logarithm

Tensors

Some tensor packages appear above. Repeat them ? Link them ?

Here is discussion on tensor packages.

  • SymmetricTensors.jl (06 2021) - Framework for symmetric tensors
  • Tensors.jl (05 2021) - Efficient computations with symmetric and non-symmetric tensors with support for automatic differentiation. The author says this is for real tensors. So quantum applications may be limited. Or the author may say "real" for "genuine".
  • TensorCast.jl (04 2021) - It slices, it dices, it splices!
  • OMEinsum.jl (06 2021) - One More Einsum for Julia! With runtime order-specification and high-level adjoints for AD
  • TensorNetworkAD.jl (08 2019) - Algorithms that combine tensor network methods with automatic differentiation.
  • Einsum.jl (02 2019) - Einstein summation notation
  • Tullio.jl (05 2021)
  • MERA.jl (11 2020) - some basic Multiscale Entaglement Renormalization Ansatz algorithms
  • SweepContractor.jl (10 2021) - Tensor network contraction algorithm

Quantum Algebra

  • QuantumAlgebra.jl (04 2021) - quantum operator algebra (i.e., algebra with non-commuting operators)
  • Fermionic.jl (06 2021) - Fermionic is a Julia toolkit for implementing fermionic simulations and exploring its quantum information properties.

Mathematics

  • Grassmann.jl (06 2021) - Tools for doing computations based on multi-linear algebra, differential geometry, and spin groups using the extended tensor algebra known as Leibniz-Grassmann-Clifford-Hestenes geometric algebra.

Quantum Chemistry

JuliaAtoms (06 2021) - This project includes several pacakges. Just one of them is listed below

  • Atoms.jl (06 2021) - provides structures for representing atoms as linear combinations of single-particle orbitals

Others

  • QuantumLab.jl (06 2021) - A workbench for Quantum Chemistry and Quantum Physics.
  • DFTK.jl (06 2021) - Density-functional toolkit is a library of Julia routines for experimentation with plane-wave density-functional theory (DFT), as implemented in much larger production codes such as Abinit, Quantum Espresso and VASP.

Molecular and protein dynamics, etc.

  • JuliaMolSim (06 2021) - An organization. Molecular Simulation in Julia. Note that DFTK.jl, listed above, is in this org.
  • Molly.jl (06 2021) - Molecular dynamics
  • ProteinEnsembles.jl (12 2020) - Generate and perturb protein structural ensembles using the ExProSE algorithm

See Also

  1. this is out of date and 2) See this.

Unmaintained, deprecated, etc. packages and projects

About

List of quantum information and computation projects in Julia

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published