Synthesizer
The Synthesizer is responsible for approximating arbitrary unitary gates with gates natively implemented by a fault-tolerant device. The user inputs a circuit in an intermediate representation (IR) format, e.g., OpenQASM, composed of arbitrary single-qubit rotations (single-qubit unitaries, rotations of an arbitrary angle about an axis, etc.) and CNOT gates. The Synthesizer decomposes this circuit into one made of sequences of gates from a given gate set. The resulting circuit is in an internal representation language, specific to TopQAD, that is optimized for use in later stages of the QARE pipeline.
Theory
A fault-tolerant quantum computer encodes qubits into logical qubits in order to reduce errors in executing a quantum algorithm. An algorithm is described by a sequence of operations called gates, but the gates that can be applied while the qubits are encoded is typically limited to a small set. If an operation required by an algorithm is not possible on a fault-tolerant device, then the operation can be replaced by a sequence of gates implemented by the quantum device; however, this substitution incurs some error.
The Synthesizer takes an algorithm and computes replacements that approximate the target gates while keeping the error rate of the circuit within the given error budget.
Parameters
Quantum circuit
The Synthesizer is designed to process quantum circuits written in a common IR format. Currently, TopQAD supports circuits that are represented in the OpenQASM 2.0 format. Soon, it will also support the QIR format. Both OpenQASM 2.0 and QIR are widely accepted standards for describing quantum circuits. Documentation can be found here: OpenQASM 2.0: Open Quantum Assembly Language research paper QIR: QIR Alliance website
There are some additional requirements for the OpenQASM file structure that are specific to the Synthesizer:
- The only multi-qubit gate allowed is the CNOT gate.
- All single-qubit gates must be one of the fixed gates from the choice of basis or one of the parameterized single-qubit gates defined in the file
qelib1.inc
. - QASM 2.0
gate
declarations must not have parameters.
Inputs
Parameter | Description |
---|---|
Input Circuit | The quantum circuit to decompose |
Error Budget | The error budget for the entire circuit |
Outputs
Parameter | Description |
---|---|
Decomposed Circuit | The decomposed quantum circuit, in an internal representation language |
Accumulated Error | The error rate incurred by the decomposition step |
Relevant Papers
[1] C. M. Dawson and M. A. Nielsen, The Solovay-Kitaev algorithm, arXiv (2005), https://arxiv.org/abs/quant-ph/0505030
[2] N. J. Ross and P. Sellinger, Optimal ancilla-free Clifford+T approximation of z-rotations, arXiv (2012), https://arxiv.org/abs/1403.2975
[3] V. Kliuchnikov, K. Lauter, R. Minko, A. Paetznick, and C. Petit, Shorter quantum circuits via single-qubit gate approximation, Quantum 7, 1208 (2023), https://quantum-journal.org/papers/q-2023-12-18-1208