Skip to content

List of quantum information and computation projects in Julia

License

Notifications You must be signed in to change notification settings

sailfish009/JuliaQuantumInformation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 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. Exactly where to cut this off is not clear.
  • TODO: How to organize ? By organization for some software seems useful. Within orgs: alphabetically?, popularity? ...

See Also

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

Organizations

  • Cliffords.jl (04 2020) - Efficient calculation of Clifford circuits.
  • QuantumTomography.jl (05 2020) - Quantum state- and process tomography.
  • QGL.jl (04 2018) - A performance orientated QGL compiler. This is a Julia reimplemenation of QGL.jl (05 2020) (Quantum Gate Language), a python library.
  • MESolve.jl (05 2020) - Master Equation Solver.
  • QuantumInfo.jl (04 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 (01 2019) - 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 (05 2020) - tensor contractions and related operations.
  • WignerSymbols.jl (02 2020) - computing Wigner symbols and related quantities.
  • LinearMaps.jl (04 2020) - 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 (05 2020) - large-scale tensor computations, with a hint of category theory
  • ITensors.jl (05 2020) - efficient tensor computations and tensor network calculations
  • NDTensors.jl (05 2020) - n-dimensional sparse tensors.
  • PEPS.jl (05 2020) - Projected entangled pair states.

Quantum Optics (QOJulia)

  • QuantumOptics.jl (05 2020) - 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.

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

  • QuantumInformation.jl (08 2019) - numerical computation in quantum information theory.
  • QSWalk.jl (04 2020) - simulating the evolution of open quantum systems on graphs.
  • QContinuousMeasurement.jl (11 2020)
  • ContinuousMeasurementFI (05 2018) 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 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.

Superconducting qubits and quantum resonators. The majority of these packages were last updated no later than (05 2019)

Utilities

  • ILog2 a fast implementation integer-valued, base 2 logarithm

Topics

Tensors

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

Here is discussion on tensor packages.

  • SymmetricTensors.jl (05 2020) - Framework for symmetric tensors
  • Tensors.jl (02 2020) - 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 (05 2020) - It slices, it dices, it splices!
  • OMEinsum.jl (06 2020) - 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 (12 2020)
  • MERA.jl (04 2020) - some basic Multiscale Entaglement Renormalization Ansatz algorithms

Simulation of Quantum Computers

  • Schrodinger.jl (04 2020) - Fast and easy simulation of quantum mechanical systems.

Mathematics

  • Grassmann.jl (05 2020) - ⟨Leibniz-Grassmann-Clifford⟩ differential geometric algebra / multivector simplicial complex

Quantum Chemistry

  • QuantumLab.jl (05 2020) - A workbench for Quantum Chemistry and Quantum Physics.
  • DFTK.jl (06 2020) - 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 2020) - Molecular Simulation in Julia. Note that DFTK.jl, listed above, is in this org.
  • Molly.jl (05 2020) - Molecular dynamics
  • ProteinEnsembles.jl (10 2019) - Generate and perturb protein structural ensembles using the ExProSE algorithm

Unmaintained, deprecated, etc. packages and projects

The date of last activity is shown in parentheses.

About

List of quantum information and computation projects in Julia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published