Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

arXiv:1806.11464 · PLoS ONE

QuantumInformation.jl—A Julia package for numerical computation in quantum information theory

Piotr Gawron, Dariusz Kurzyk, Łukasz Pawela

Published Dec 26, 2018• 20 citations
arXivHTMLPDF

Abstract

Numerical investigations are an important research tool in quantum information theory. There already exists a wide range of computational tools for quantum information theory implemented in various programming languages. However, there is little effort in implementing this kind of tools in the Julia language. Julia is a modern programming language designed for numerical computation with excellent support for vector and matrix algebra, extended type system that allows for implementation of elegant application interfaces and support for parallel and distributed computing. QuantumInformation.jl is a new quantum information theory library implemented in Julia that provides functions for creating and analyzing quantum states, and for creating quantum operations in various representations. An additional feature of the library is a collection of functions for sampling random quantum states and operations such as unitary operations and generic quantum channels.

DOI
10.1371/journal.pone.0209358

Related papers

QI.jl---a Julia package for numerical computation in quantum information theory

Piotr Gawron, Dariusz Kurzyk, Łukasz Pawela

Numerical investigations are an important research tool in quantum information theory. There already exists a wide range of computational tools implemented in various programming languages. However there is little effort in implementing this kind of tools in the Julia language. Julia is a modern numerical computation library with excellent support for vector and matrix algebra, extended type system that allows for implementation of elegant application interfaces and support for parallel and distributed computing. QI.jl is a new quantum information theory library implemented in Julia that provides functions for creating and analyzing quantum states, and for creating quantum operations in various representations. An additional feature of the library is a collection of functions for sampling random quantum states and operations such as unitary operations and generic quantum channels.

•Jun 29, 2018•0 citations

Fermi.jl: A Modern Design for Quantum Chemistry

Gustavo J. R. Aroeira, Matthew M. Davis, Justin M. Turney +1 more

Approximating molecular wave functions involves heavy numerical effort; therefore, codes for such tasks are written completely or partially in efficient languages such as C, C++, and Fortran. While these tools are dominant throughout quantum chemistry packages, the efficient development of new methods is often hindered by the complexity associated with code development. In order to ameliorate this scenario, some software packages take a dual approach where a simpler, higher-level language, such as Python, substitutes the traditional ones wherever performance is not critical. Julia is a novel, dynamically typed, programming language that aims to solve this two-language problem. It gained attention because of its modern and intuitive design, while still being highly optimized to compete with “low-level” languages. Recently, some chemistry-related projects have emerged exploring the capabilities of Julia. Herein, we introduce the quantum chemistry package Fermi.jl, which contains the first implementations of post-Hartree–Fock methods written in Julia. Its design makes use of many Julia core features, including multiple dispatch, metaprogramming, and interactive usage. Fermi.jl is a modular package, where new methods and implementations can be easily added to the existing code. Furthermore, it is designed to maximize code reusability by relying on general functions with specialized methods for particular cases. The feasibility of the project is explored through evaluating the performance of popular ab initio methods. It is our hope that this project motivates the usage of Julia within the community and brings new contributions into Fermi.jl.

Journal of Chemical Theory and Computation•Jan 3, 2022•21 citations

IntegrateUnitary.jl: A Julia package for symbolic integration over Haar measures

Łukasz Pawela, Zbigniew Puchała

Symbolic integration over the Haar measure of compact groups is a computational cornerstone in quantum information science and random matrix theory. We present \texttt{IntegrateUnitary.jl}, a comprehensive Julia package for computing exact expectations of polynomial functions over a wide range of compact groups ($U(d)$, $O(d)$, $Sp(d)$, and $SU(d)$ for balanced polynomials), circular and Gaussian ensembles, Ginibre ensembles, permutation groups, random pure states, and unitary $t$-designs. The package provides a fully open-source implementation of the Weingarten calculus and Wick contractions with broad symbolic-$d$ support for entry-wise and trace-polynomial integrals, while selected workflows currently require concrete integer dimensions (including higher pure trace moments $|\mathrm{tr}(U)|^{2k}$ for $k > 1$ and HCIZ with \texttt{SymbolicMatrix} inputs, and direct matrix-valued integration of \texttt{SymbolicMatrix}/\texttt{SymbolicMatrixProduct} expressions), automatic asymptotic expansions, a high-level symbolic trace interface that reconstructs Weingarten graphs from index-free expressions, and a bridge to \texttt{ITensors.jl} for tensor network averaging. We discuss the underlying algorithms, including the Murnaghan-Nakayama rule and symplectic-orthogonal duality, and demonstrate that the package efficiently handles high-degree moments and quantum information metrics.

quant-pharXiv:2605.23830•May 25, 2026•1 citation

Julia versus Python for Quantum Computing: A Comparative Study of Performance, Scalability, and Scientific

Sayed Mohammad Badiezadegan

Quantum computing research relies heavily on numerical simulation, linear algebra, optimization, and scientific programming. While Python has become the dominant language for quantum computing frameworks such as Qiskit, Cirq, and PennyLane, Julia has emerged as a promising alternative due to its high-performance execution model and modern language design. This paper investigates the advantages of Julia over Python for quantum computing applications. We compare the two languages from theoretical, architectural, and practical perspectives, focusing on execution speed, memory efficiency, parallelization, numerical accuracy, and suitability for large-scale quantum simulation. Furthermore, we present an experimental study based on the Quantum Approximate Optimization Algorithm (QAOA) applied to the MaxCut problem. The benchmark was implemented independently in both Qiskit/Python and Julia and executed on the same hardware platform. Preliminary experimental results demonstrate a significant reduction in execution time when using Julia, with an observed speedup of approximately 3.9 x. Source code for both implementations has been made publicly available through the author's GitHub repository to facilitate reproducibility and further research.

•Jun 12, 2026•0 citations

Rimu.jl: Random integrators for many-body quantum systems

Matija Čufar, C. J. Bradly, Ray Yang +2 more

Rimu$.$jl is a Julia package for solving many-body quantum problems. The core of the package is a matrix-free implementation of Hamiltonians and other operators and compact representation of Fock states, which together allow for efficient methods suitable for high-performance computing. Rimu$.$jl includes a Julia implementation of the full configuration interaction quantum Monte Carlo (FCIQMC) algorithm which is a type of projector QMC algorithm for stochastically solving the time-independent Schrödinger equation. It also includes many well-known model Hamiltonians, and an interface for exact diagonalisation based on external eigenvalue solvers. Both the stochastic and exact diagonalisation methods are accessed with a CommonSolve$.$jl interface. We describe the FCIQMC algorithm and how to obtain estimators of observables as well as the key features of the implementation.

arXiv:2601.19505•Jan 27, 2026•0 citations

GroupFunctions.jl: computing individual entries of the irreducible representations of the unitary group U(d)

David Amaro-Alcalá, Konrad Szymański

GroupFunctions.jl is a Julia library for computing individual matrix elements of irreducible representations of U(d). These matrix elements, called group functions, can be evaluated symbolically or numerically. For SU(2), they reduce to the Wigner D-functions. The library computes these matrix elements in a carrier-space basis enumerated by Gelfand-Tsetlin patterns. It can also compute entire representation operators, construct input unitaries from parameterisations common in quantum optics, translate Gelfand-Tsetlin patterns into occupation-number kets, and compute the associated Schur functions. Results can be exported in a form compatible with Mathematica.

quant-pharXiv:2607.10867•Jul 14, 2026
Numerical investigations are an important research tool in quantum information theory. There already exists a wide range of computational tools for quantum information theory implemented in various programming languages. However, there is little effort in implementing this kind of tools in the Julia language. Julia is a modern programming language designed for numerical computation with excellent support for vector and matrix algebra, extended type system that allows for implementation of elegant application interfaces and support for parallel and distributed computing. QuantumInformation.jl is a new quantum information theory library implemented in Julia that provides functions for creating and analyzing quantum states, and for creating quantum operations in various representations. An additional feature of the library is a collection of functions for sampling random quantum states and operations such as unitary operations and generic quantum channels.
Numerical investigations are an important research tool in quantum information theory. There already exists a wide range of computational tools implemented in various programming languages. However there is little effort in implementing this kind of tools in the Julia language. Julia is a modern numerical computation library with excellent support for vector and matrix algebra, extended type system that allows for implementation of elegant application interfaces and support for parallel and distributed computing. QI.jl is a new quantum information theory library implemented in Julia that provides functions for creating and analyzing quantum states, and for creating quantum operations in various representations. An additional feature of the library is a collection of functions for sampling random quantum states and operations such as unitary operations and generic quantum channels.
Approximating molecular wave functions involves heavy numerical effort; therefore, codes for such tasks are written completely or partially in efficient languages such as C, C++, and Fortran. While these tools are dominant throughout quantum chemistry packages, the efficient development of new methods is often hindered by the complexity associated with code development. In order to ameliorate this scenario, some software packages take a dual approach where a simpler, higher-level language, such as Python, substitutes the traditional ones wherever performance is not critical. Julia is a novel, dynamically typed, programming language that aims to solve this two-language problem. It gained attention because of its modern and intuitive design, while still being highly optimized to compete with “low-level” languages. Recently, some chemistry-related projects have emerged exploring the capabilities of Julia. Herein, we introduce the quantum chemistry package Fermi.jl, which contains the first implementations of post-Hartree–Fock methods written in Julia. Its design makes use of many Julia core features, including multiple dispatch, metaprogramming, and interactive usage. Fermi.jl is a modular package, where new methods and implementations can be easily added to the existing code. Furthermore, it is designed to maximize code reusability by relying on general functions with specialized methods for particular cases. The feasibility of the project is explored through evaluating the performance of popular ab initio methods. It is our hope that this project motivates the usage of Julia within the community and brings new contributions into Fermi.jl.
Symbolic integration over the Haar measure of compact groups is a computational cornerstone in quantum information science and random matrix theory. We present \texttt{IntegrateUnitary.jl}, a comprehensive Julia package for computing exact expectations of polynomial functions over a wide range of compact groups (U(d)U(d)U(d), O(d)O(d)O(d), Sp(d)Sp(d)Sp(d), and SU(d)SU(d)SU(d) for balanced polynomials), circular and Gaussian ensembles, Ginibre ensembles, permutation groups, random pure states, and unitary ttt-designs. The package provides a fully open-source implementation of the Weingarten calculus and Wick contractions with broad symbolic-ddd support for entry-wise and trace-polynomial integrals, while selected workflows currently require concrete integer dimensions (including higher pure trace moments ∣tr(U)∣2k|\mathrm{tr}(U)|^{2k}∣tr(U)∣2k for k>1k > 1k>1 and HCIZ with \texttt{SymbolicMatrix} inputs, and direct matrix-valued integration of \texttt{SymbolicMatrix}/\texttt{SymbolicMatrixProduct} expressions), automatic asymptotic expansions, a high-level symbolic trace interface that reconstructs Weingarten graphs from index-free expressions, and a bridge to \texttt{ITensors.jl} for tensor network averaging. We discuss the underlying algorithms, including the Murnaghan-Nakayama rule and symplectic-orthogonal duality, and demonstrate that the package efficiently handles high-degree moments and quantum information metrics.
Quantum computing research relies heavily on numerical simulation, linear algebra, optimization, and scientific programming. While Python has become the dominant language for quantum computing frameworks such as Qiskit, Cirq, and PennyLane, Julia has emerged as a promising alternative due to its high-performance execution model and modern language design. This paper investigates the advantages of Julia over Python for quantum computing applications. We compare the two languages from theoretical, architectural, and practical perspectives, focusing on execution speed, memory efficiency, parallelization, numerical accuracy, and suitability for large-scale quantum simulation. Furthermore, we present an experimental study based on the Quantum Approximate Optimization Algorithm (QAOA) applied to the MaxCut problem. The benchmark was implemented independently in both Qiskit/Python and Julia and executed on the same hardware platform. Preliminary experimental results demonstrate a significant reduction in execution time when using Julia, with an observed speedup of approximately 3.9 x. Source code for both implementations has been made publicly available through the author's GitHub repository to facilitate reproducibility and further research.
Rimu...jl is a Julia package for solving many-body quantum problems. The core of the package is a matrix-free implementation of Hamiltonians and other operators and compact representation of Fock states, which together allow for efficient methods suitable for high-performance computing. Rimu...jl includes a Julia implementation of the full configuration interaction quantum Monte Carlo (FCIQMC) algorithm which is a type of projector QMC algorithm for stochastically solving the time-independent Schrödinger equation. It also includes many well-known model Hamiltonians, and an interface for exact diagonalisation based on external eigenvalue solvers. Both the stochastic and exact diagonalisation methods are accessed with a CommonSolve...jl interface. We describe the FCIQMC algorithm and how to obtain estimators of observables as well as the key features of the implementation.
GroupFunctions.jl is a Julia library for computing individual matrix elements of irreducible representations of U(d). These matrix elements, called group functions, can be evaluated symbolically or numerically. For SU(2), they reduce to the Wigner D-functions. The library computes these matrix elements in a carrier-space basis enumerated by Gelfand-Tsetlin patterns. It can also compute entire representation operators, construct input unitaries from parameterisations common in quantum optics, translate Gelfand-Tsetlin patterns into occupation-number kets, and compute the associated Schur functions. Results can be exported in a form compatible with Mathematica.