Code Monkey home page Code Monkey logo

juliaquantuminformation's Introduction

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

BBN-Q (BBN Technologies)

  • 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

QuantumBFS

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

ITensor

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.

Matteo AC Rossi

  • 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)

Rigetti

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

juliaquantuminformation's People

Contributors

jlapeyre avatar krastanov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.