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/0411027

Qubiter Algorithm Modification, Expressing Unstructured Unitary Matrices with Fewer CNOTs

Robert R. Tucci

Published Nov 3, 2004• 6 citations
arXivHTMLPDF

Abstract

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.

DOI
10.48550/arxiv.quant-ph/0411027

Related papers

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

Quantum Fast Fourier Transform Viewed as a Special Case of Recursive Application of Cosine-Sine Decomposition

Robert R. Tucci

A quantum compiler is a software program for decomposing ("compiling") an arbitrary unitary matrix into a sequence of elementary operations (SEO). Coppersmith showed that the $\nb$-bit Discrete Fourier Transform matrix $U_{FT}$ can be decomposed in a very efficient way, as a sequence of order($\nb^2$) elementary operations. Can a quantum compiler that doesn't know a priori about Coppersmith's decomposition nevertheless decompose $U_{FT}$ as a sequence of order($\nb^2$) elementary operations? In other words, can it rediscover Coppersmith's decomposition by following a much more general algorithm? Yes it can, if that more general algorithm is the recursive application of the Cosine-Sine Decomposition (CSD).

arXiv:quant-ph/0411097•Nov 15, 2004•8 citations

How to Compile Some NAND Formula Evaluators

Robert R. Tucci

We say a unitary operator acting on a set of qubits has been compiled if it has been expressed as a SEO (sequence of elementary operations, like CNOTs and single-qubit operations). SEO's are often represented as quantum circuits. arXiv:quant-ph/0702144 by Farhi-Goldstone-Gutmann has inspired a recent flurry of papers, that propose quantum algorithms for evaluating NAND formulas via quantum walks over tree graphs. These algorithms use two types of unitary evolution: oracle and non-oracle. Non-oracle evolutions are independent of the NAND formula input, whereas oracle evolutions depend on this input. In this paper we compile (i.e., give explicit SEOs and their associated quantum circuits for) the oracle and non-oracle evolution operators used in some of these NAND formula evaluators. We consider here only the case of balanced binary NAND trees. Our compilation methods are based on the CSD (Cosine Sine Decomposition), a matrix decomposition from Linear Algebra. The CS decomposition has been used very successfully in the past to compile unstructured unitary matrices exactly.

arXiv:0706.0479•Jun 4, 2007•5 citations

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

Simplifying Quantum Circuits via Circuit Invariants and Dressed CNOTs

Robert R. Tucci

Quantum Compiling Algorithms decompose (exactly, without approximations) an arbitrary $2^\nb$ unitary matrix acting on $\nb$ qubits, into a sequence of elementary operations (SEO). There are many possible ways of decomposing a unitary matrix into a SEO, and some of these decompositions have shorter length (are more efficient) than others. Finding an optimum (shortest) decomposition is a very hard task, and is not our intention here. A less ambitious, more doable task is to find methods for optimizing small segments of a SEO. Call these methods piecewise optimizations. Piecewise optimizations involve replacing a small quantum circuit by an equivalent one with fewer CNOTs. Two circuits are said to be equivalent if one of them multiplied by some external local operations equals the other. This equivalence relation between circuits has its own class functions, which we call circuit invariants. Dressed CNOTs are a simple yet very useful generalization of standard CNOTs. After discussing circuit invariants and dressed CNOTs, we give some methods for simplifying 2-qubit and 3-qubit circuits. We include with this paper software (written in Octave/Matlab) that checks many of the algorithms proposed in the paper.

arXiv:quant-ph/0606061•Jun 7, 2006•1 citation

A Rudimentary Quantum Compiler

Robert R. Tucci

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.

arXiv:quant-ph/9805015•May 7, 1998•48 citations
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.
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). Coppersmith showed that the $\nb$-bit Discrete Fourier Transform matrix UFTU_{FT}UFT​ can be decomposed in a very efficient way, as a sequence of order($\nb^2$) elementary operations. Can a quantum compiler that doesn't know a priori about Coppersmith's decomposition nevertheless decompose UFTU_{FT}UFT​ as a sequence of order($\nb^2$) elementary operations? In other words, can it rediscover Coppersmith's decomposition by following a much more general algorithm? Yes it can, if that more general algorithm is the recursive application of the Cosine-Sine Decomposition (CSD).
We say a unitary operator acting on a set of qubits has been compiled if it has been expressed as a SEO (sequence of elementary operations, like CNOTs and single-qubit operations). SEO's are often represented as quantum circuits. arXiv:quant-ph/0702144 by Farhi-Goldstone-Gutmann has inspired a recent flurry of papers, that propose quantum algorithms for evaluating NAND formulas via quantum walks over tree graphs. These algorithms use two types of unitary evolution: oracle and non-oracle. Non-oracle evolutions are independent of the NAND formula input, whereas oracle evolutions depend on this input. In this paper we compile (i.e., give explicit SEOs and their associated quantum circuits for) the oracle and non-oracle evolution operators used in some of these NAND formula evaluators. We consider here only the case of balanced binary NAND trees. Our compilation methods are based on the CSD (Cosine Sine Decomposition), a matrix decomposition from Linear Algebra. The CS decomposition has been used very successfully in the past to compile unstructured unitary matrices exactly.
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.
Quantum Compiling Algorithms decompose (exactly, without approximations) an arbitrary $2^\nb$ unitary matrix acting on $\nb$ qubits, into a sequence of elementary operations (SEO). There are many possible ways of decomposing a unitary matrix into a SEO, and some of these decompositions have shorter length (are more efficient) than others. Finding an optimum (shortest) decomposition is a very hard task, and is not our intention here. A less ambitious, more doable task is to find methods for optimizing small segments of a SEO. Call these methods piecewise optimizations. Piecewise optimizations involve replacing a small quantum circuit by an equivalent one with fewer CNOTs. Two circuits are said to be equivalent if one of them multiplied by some external local operations equals the other. This equivalence relation between circuits has its own class functions, which we call circuit invariants. Dressed CNOTs are a simple yet very useful generalization of standard CNOTs. After discussing circuit invariants and dressed CNOTs, we give some methods for simplifying 2-qubit and 3-qubit circuits. We include with this paper software (written in Octave/Matlab) that checks many of the algorithms proposed in the paper.