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

IEEE High Performance Extreme Computing Conference

ToQ.jl: A high-level programming language for D-Wave machines based on Julia

Daniel O’Malley, Velimir V. Vesselinov

Published Sep 1, 2016• 39 citations
Publisher

Abstract

Quantum computers are becoming more widely available, so it is important to develop tools that enable people to easily program these computers to solve complex problems. To address this issue, we present the design and two applications of ToQ.jl, a high-level programming language for D-Wave quantum annealing machines. ToQ.jl leverages the metaprogramming facilities in Julia (a high-level, high-performance programming language for technical computing) and uses D-Wave's ToQ programming language as an intermediate representation. This makes it possible for a programmer to leverage all the capabilities of Julia, and the D-Wave machine is used as a co-processor. We demonstrate ToQ.jl via two applications: (1) a pedagogical example based on a map-coloring problem and (2) a linear least squares problem. We also discuss our experience using ToQ.jl with a D-Wave 2X, particularly with respect to a linear least squares problem which is of broad interest to the scientific computing community.

DOI
10.1109/hpec.2016.7761616

Related papers

QuantumInformation.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 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.

arXiv:1806.11464•PLoS ONE•Dec 26, 2018•20 citations

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

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

QUBO.jl : a Julia ecosystem for quadratic unconstrained binary optimization

Pedro Maciel Xavier, Pedro Ripper, Tiago Andrade +3 more

We present QUBO.jl, an end-to-end Julia package for working with QUBO (Quadratic Unconstrained Binary Optimization) instances. This tool aims to convert a broad range of optimization problems in JuMP, Julia's mathematical programming package, for straightforward application in many physics and physics-inspired solution methods whose standard model form is equivalent to QUBO. These methods include quantum annealing, quantum gate-circuit optimization algorithms (Quantum Optimization Alternating Ansatz, Variational Quantum Eigensolver), other hardware-accelerated platforms, such as Coherent ising machines and Simulated Bifurcation Machines, and more traditional methods such as simulated annealing. In addition to working with reformulations, QUBO.jl allows its users to interface with the aforementioned hardware, sending QUBO models to these devices and retrieving results for subsequent analysis. QUBO.jl was written as a JuMP / MathOptInterface (MOI) layer that automatically maps between the input and output frames, thus providing a smooth modeling experience.

arXiv:2307.02577•Optimization methods & software•Jul 22, 2026•8 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

Programming a D-wave annealing-based quantum computer: tools and techniques

Scott Pakin, Steven P. Reinhardt

Quantum annealing is a form of quantum computing that exploits quantum effects to probabilistically solve a specific, NP-hard problem: finding the ground state of a classical, Ising-model Hamiltonian. Because physical quantum annealers are already available, there exists the pressing question of how to program such systems. That is, how can one map a computational problem into the coefficients of an Ising-model Hamiltonian for solution by quantum-annealing hardware? In this article, we address that question primarily from a practical standpoint. We survey extant software tools intended for programming D-wave annealing-based quantum processors and examine the programming model and solution technique promoted by each tool in an attempt to showcase the variety of contemporary approaches to solving computationally challenging problems on an existing annealing-based quantum computer.

Quantum Information and Computation•Sep 1, 2019•1 citation
Quantum computers are becoming more widely available, so it is important to develop tools that enable people to easily program these computers to solve complex problems. To address this issue, we present the design and two applications of ToQ.jl, a high-level programming language for D-Wave quantum annealing machines. ToQ.jl leverages the metaprogramming facilities in Julia (a high-level, high-performance programming language for technical computing) and uses D-Wave's ToQ programming language as an intermediate representation. This makes it possible for a programmer to leverage all the capabilities of Julia, and the D-Wave machine is used as a co-processor. We demonstrate ToQ.jl via two applications: (1) a pedagogical example based on a map-coloring problem and (2) a linear least squares problem. We also discuss our experience using ToQ.jl with a D-Wave 2X, particularly with respect to a linear least squares problem which is of broad interest to the scientific computing community.
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.
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.
We present QUBO.jl, an end-to-end Julia package for working with QUBO (Quadratic Unconstrained Binary Optimization) instances. This tool aims to convert a broad range of optimization problems in JuMP, Julia's mathematical programming package, for straightforward application in many physics and physics-inspired solution methods whose standard model form is equivalent to QUBO. These methods include quantum annealing, quantum gate-circuit optimization algorithms (Quantum Optimization Alternating Ansatz, Variational Quantum Eigensolver), other hardware-accelerated platforms, such as Coherent ising machines and Simulated Bifurcation Machines, and more traditional methods such as simulated annealing. In addition to working with reformulations, QUBO.jl allows its users to interface with the aforementioned hardware, sending QUBO models to these devices and retrieving results for subsequent analysis. QUBO.jl was written as a JuMP / MathOptInterface (MOI) layer that automatically maps between the input and output frames, thus providing a smooth modeling experience.
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.
Quantum annealing is a form of quantum computing that exploits quantum effects to probabilistically solve a specific, NP-hard problem: finding the ground state of a classical, Ising-model Hamiltonian. Because physical quantum annealers are already available, there exists the pressing question of how to program such systems. That is, how can one map a computational problem into the coefficients of an Ising-model Hamiltonian for solution by quantum-annealing hardware? In this article, we address that question primarily from a practical standpoint. We survey extant software tools intended for programming D-wave annealing-based quantum processors and examine the programming model and solution technique promoted by each tool in an attempt to showcase the variety of contemporary approaches to solving computationally challenging problems on an existing annealing-based quantum computer.