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:quant-ph/9805015

A Rudimentary Quantum Compiler

Robert R. Tucci

Published May 7, 1998• 48 citations
arXivHTMLPDF

Abstract

We present a new algorithm for reducing an arbitrary unitary matrix into a sequence of elementary operations (operations such as controlled-nots and qubit rotations). Such a sequence of operations can be used to manipulate an array of quantum bits (i.e., a quantum computer). We report on a C++ program called "Qubiter" that implements our algorithm. Qubiter source code is publicly available.

DOI
10.48550/arxiv.quant-ph/9805015

Related papers

A Rudimentary Quantum Compiler(2cnd Ed.)

Robert R. Tucci

We present a new algorithm for reducing an arbitrary unitary matrix U into a sequence of elementary operations (operations such as controlled-nots and qubit rotations). Such a sequence of operations can be used to manipulate an array of quantum bits (i.e., a quantum computer). Our algorithm applies recursively a mathematical technique called the CS Decomposition to build a binary tree of matrices whose product, in some order, equals the original matrix U. We show that the Fast Fourier Transform (FFT) algorithm is a special case of our algorithm. We report on a C++ program called "Qubiter" that implements the ideas of this paper. Qubiter(PATENT PENDING) source code is publicly available.

arXiv:quant-ph/9902062•Feb 18, 1999•30 citations

How to Compile A Quantum Bayesian Net

Robert R. Tucci

We show how to express the information contained in a Quantum Bayesian (QB) net as a product of unitary matrices. If each of these unitary matrices is expressed as a sequence of elementary operations (operations such as controlled-nots and qubit rotations), then the result is a sequence of operations that can be used to run a quantum computer. QB nets have been run entirely on a classical computer, but one expects them to run faster on a quantum computer.

arXiv:quant-ph/9805016•May 7, 1998•12 citations

An Optimization for Qubiter

Robert R. Tucci

In a previous paper, we described a computer program called Qubiter which can decompose an arbitrary unitary matrix into elementary operations of the type used in quantum computation. In this paper, we describe a method of reducing the number of elementary operations in such decompositions.

arXiv:quant-ph/9809055•Sep 17, 1998•0 citations

Quantum Compiling with Approximation of Multiplexors

Robert R. Tucci

A quantum compiling algorithm is an algorithm for decomposing ("compiling") an arbitrary unitary matrix into a sequence of elementary operations (SEO). Suppose $U_{in}$ is an $\nb$-bit unstructured unitary matrix (a unitary matrix with no special symmetries) that we wish to compile. For $\nb>10$, expressing $U_{in}$ as a SEO requires more than a million CNOTs. This calls for a method for finding a unitary matrix that: (1)approximates $U_{in}$ well, and (2) is expressible with fewer CNOTs than $U_{in}$. The purpose of this paper is to propose one such approximation method. Various quantum compiling algorithms have been proposed in the literature that decompose an arbitrary unitary matrix into a sequence of U(2)-multiplexors, each of which is then decomposed into a SEO. Our strategy for approximating $U_{in}$ is to approximate these intermediate U(2)-multiplexors. In this paper, we will show how one can approximate a U(2)-multiplexor by another U(2)-multiplexor that is expressible with fewer CNOTs.

arXiv:quant-ph/0412072•Dec 9, 2004•1 citation

Qubiter Algorithm Modification, Expressing Unstructured Unitary Matrices with Fewer CNOTs

Robert R. Tucci

A quantum compiler is a software program for decomposing ("compiling") an arbitrary unitary matrix into a sequence of elementary operations (SEO). The author of this paper is also the author of a quantum compiler called Qubiter. Qubiter uses a matrix decomposition called the Cosine-Sine Decomposition (CSD) that is well known in the field of Computational Linear Algebra. One way of measuring the efficiency of a quantum compiler is to measure the number of CNOTs it uses to express an unstructured unitary matrix (a unitary matrix with no special symmetries). We will henceforth refer to this number as $ε$. In this paper, we show how to improve $ε$ for Qubiter so that it matches the current world record for $ε$, which is held by another quantum compiling algorithm based on CSD.

arXiv:quant-ph/0411027•Nov 3, 2004•6 citations

Toward an architecture for quantum programming

It is becoming increasingly clear that, if a useful device for quantum computation will ever be built, it will be embodied by a classical computing machine with control over a truly quantum subsystem, this apparatus performing a mixture of classical and quantum computation. This paper investigates a possible approach to the problem of programming such machines: a template high level quantum language is presented which complements a generic general purpose classical language with a set of quantum primitives. The underlying scheme involves a run-time environment which calculates the byte-code for the quantum operations and pipes it to a quantum device controller or to a simulator. This language can compactly express existing quantum algorithms and reduce them to sequences of elementary operations; it also easily lends itself to automatic, hardware independent, circuit simplification. A publicly available preliminary implementation of the proposed ideas has been realized using the C++ language. 1 Quantum programming

•Jan 1, 2008•0 citations
We present a new algorithm for reducing an arbitrary unitary matrix into a sequence of elementary operations (operations such as controlled-nots and qubit rotations). Such a sequence of operations can be used to manipulate an array of quantum bits (i.e., a quantum computer). We report on a C++ program called "Qubiter" that implements our algorithm. Qubiter source code is publicly available.
We present a new algorithm for reducing an arbitrary unitary matrix U into a sequence of elementary operations (operations such as controlled-nots and qubit rotations). Such a sequence of operations can be used to manipulate an array of quantum bits (i.e., a quantum computer). Our algorithm applies recursively a mathematical technique called the CS Decomposition to build a binary tree of matrices whose product, in some order, equals the original matrix U. We show that the Fast Fourier Transform (FFT) algorithm is a special case of our algorithm. We report on a C++ program called "Qubiter" that implements the ideas of this paper. Qubiter(PATENT PENDING) source code is publicly available.
A quantum compiling algorithm is an algorithm for decomposing ("compiling") an arbitrary unitary matrix into a sequence of elementary operations (SEO). Suppose UinU_{in}Uin​ is an $\nb$-bit unstructured unitary matrix (a unitary matrix with no special symmetries) that we wish to compile. For $\nb>10$, expressing UinU_{in}Uin​ as a SEO requires more than a million CNOTs. This calls for a method for finding a unitary matrix that: (1)approximates UinU_{in}Uin​ well, and (2) is expressible with fewer CNOTs than UinU_{in}Uin​. The purpose of this paper is to propose one such approximation method. Various quantum compiling algorithms have been proposed in the literature that decompose an arbitrary unitary matrix into a sequence of U(2)-multiplexors, each of which is then decomposed into a SEO. Our strategy for approximating UinU_{in}Uin​ is to approximate these intermediate U(2)-multiplexors. In this paper, we will show how one can approximate a U(2)-multiplexor by another U(2)-multiplexor that is expressible with fewer CNOTs.
A quantum compiler is a software program for decomposing ("compiling") an arbitrary unitary matrix into a sequence of elementary operations (SEO). The author of this paper is also the author of a quantum compiler called Qubiter. Qubiter uses a matrix decomposition called the Cosine-Sine Decomposition (CSD) that is well known in the field of Computational Linear Algebra. One way of measuring the efficiency of a quantum compiler is to measure the number of CNOTs it uses to express an unstructured unitary matrix (a unitary matrix with no special symmetries). We will henceforth refer to this number as εεε. In this paper, we show how to improve εεε for Qubiter so that it matches the current world record for εεε, which is held by another quantum compiling algorithm based on CSD.
It is becoming increasingly clear that, if a useful device for quantum computation will ever be built, it will be embodied by a classical computing machine with control over a truly quantum subsystem, this apparatus performing a mixture of classical and quantum computation. This paper investigates a possible approach to the problem of programming such machines: a template high level quantum language is presented which complements a generic general purpose classical language with a set of quantum primitives. The underlying scheme involves a run-time environment which calculates the byte-code for the quantum operations and pipes it to a quantum device controller or to a simulator. This language can compactly express existing quantum algorithms and reduce them to sequences of elementary operations; it also easily lends itself to automatic, hardware independent, circuit simplification. A publicly available preliminary implementation of the proposed ideas has been realized using the C++ language. 1 Quantum programming