Table of Contents
Fetching ...

Quantum CORDIC -- Arcsin on a Budget

Iain Burge, Michel Barbeau, Joaquin Garcia-Alfaro

TL;DR

This work introduces a quantum algorithm for computing the arcsine function to an arbitrary accuracy with CORDIC, a family of iterative algorithms that can approximate various trigonometric, hyperbolic, and elementary functions using only bit shifts and additions.

Abstract

This work introduces a quantum algorithm for computing the arcsine function to an arbitrary accuracy. We leverage a technique from embedded computing and field-programmable gate array (FPGA), called COordinate Rotation DIgital Computer (CORDIC). CORDIC is a family of iterative algorithms that, in a classical context, can approximate various trigonometric, hyperbolic, and elementary functions using only bit shifts and additions. Adapting CORDIC to the quantum context is non-trivial, as the algorithm traditionally uses several non-reversible operations. We detail a method for CORDIC which avoids such non-reversible operations. We propose multiple approaches to calculate the arcsine function reversibly with CORDIC. For n bits of precision, our method has space complexity of order n qubits, a layer count in the order of n times log n, and a CNOT count in the order of n squared. This primitive function is a required step for the Harrow-Hassidim-Lloyd (HHL) algorithm, is necessary for quantum digital-to-analog conversion, can simplify a quantum speed-up for Monte-Carlo methods, and has direct applications in the quantum estimation of Shapley values.

Quantum CORDIC -- Arcsin on a Budget

TL;DR

This work introduces a quantum algorithm for computing the arcsine function to an arbitrary accuracy with CORDIC, a family of iterative algorithms that can approximate various trigonometric, hyperbolic, and elementary functions using only bit shifts and additions.

Abstract

This work introduces a quantum algorithm for computing the arcsine function to an arbitrary accuracy. We leverage a technique from embedded computing and field-programmable gate array (FPGA), called COordinate Rotation DIgital Computer (CORDIC). CORDIC is a family of iterative algorithms that, in a classical context, can approximate various trigonometric, hyperbolic, and elementary functions using only bit shifts and additions. Adapting CORDIC to the quantum context is non-trivial, as the algorithm traditionally uses several non-reversible operations. We detail a method for CORDIC which avoids such non-reversible operations. We propose multiple approaches to calculate the arcsine function reversibly with CORDIC. For n bits of precision, our method has space complexity of order n qubits, a layer count in the order of n times log n, and a CNOT count in the order of n squared. This primitive function is a required step for the Harrow-Hassidim-Lloyd (HHL) algorithm, is necessary for quantum digital-to-analog conversion, can simplify a quantum speed-up for Monte-Carlo methods, and has direct applications in the quantum estimation of Shapley values.

Paper Structure

This paper contains 8 sections, 2 theorems, 40 equations, 5 figures.

Key Result

Lemma 1

Suppose $i$ is even, at the beginning of the $i$th iteration of Algorithm 3's for loop, the state is, where $z$ is the initial value of in, and $r=-2^{-m}$.

Figures (5)

  • Figure 1: Unitary transformation $R$ which encodes the binary value of the aux register into the output register. Define $R_{y}(\omega)=(\cos\omega, -\sin\omega; \sin\omega, \cos\omega)$.
  • Figure 2: Unitary transformation $R'$ which transfers the binary encoding of CORDIC rotation direction stored d register into the amplitude of the out register. Define $R_{y}(\omega)=(\cos\omega, -\sin\omega; \sin\omega, \cos\omega)$, and $\mu_i=\tan^{-1}2^{-i}$.
  • Figure 3: Results of Classical simulations of Quantum compatible Algorithm for CORDIC Arcsine (see our GitHub repository at https://github.com/iain-burge/QuantumCORDIC for further details).
  • Figure :
  • Figure :

Theorems & Definitions (7)

  • Remark 6.1
  • Remark 6.2
  • Lemma 1
  • proof
  • Remark 1
  • Theorem 2
  • proof