Skip to content

emm71201/Reducing-Circuit-Depth-with-Qubitwise-Diagonalization

Repository files navigation

Reducing Circuit Depth with Qubitwise Diagonalization

Abstract

Simultaneous diagonalization of commuting Pauli operators is an important routine in several quantum algorithms. We present the implementation of an algorithm that yields a quantum circuit with depth only $\mathcal{O(n \log r)}$ diagonalizing n-qubit operators generated by r independent Pauli operators. The algorithm is described in detail in Paper.

Gallery

Diagonalization circuit: Full connectivity (left) and linear connectivity (right)

Tutorial

Prepare the commuting Pauli Strings

  • Ensure the Pauli strings are writen in the file where each line is a Pauli string (for example XX (on the first line), YY (on the second line))

Run the diagonalization routine and obtain the results

  • Call the function main in the file diagonalize.py.
  • The Function returns X, Z, S, U
  • U is the quantum circuit
  • X is the transformed X part of the tableau. It should be a zero matrix.
  • Z is the transformed Z part of the tableau.
  • S is the sign of the transformed Pauli strings. (0 means +, 1 means -)

Pseudocodes

The algorithm pseudocode

About

Reducing-Circuit-Depth-with-Qubitwise-Diagonalization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages