Follow these easy steps to start using True-Qᵀᴹ:
Clone or download True-Qᵀᴹ.
python setup.py installto install True-Qᵀᴹ.
pytest teststo verify the installation (optional).
Our goal in True-Qᵀᴹ is to both provide standard methods to enable hardware makers to optimize their device performance and to remove substantial amounts of redundant and exhausting effort. True-Qᵀᴹ solves these problems by providing you with diagnostic tools and run-time performance improvements through randomized compiling.
“Before TRUE-Q Design, we simply lacked the tools for verifying that we are on the right track towards scalable quantum computing.”
We provide API methods for the following protocols:
- Streamlined Randomized Benchmarking (SRB)
Estimates the average gate fidelity over the Clifford group acting on a subset of qubits.
- Extended Randomized Benchmarking (XRB)
Enables users to distinguish systematic (a.k.a. coherent) errors from stochastic errors (such as decoherence, dephasing, and rapid fluctuations in control frequencies) in combination with SRB.
- Interleaved Randomized Benchmarking (IRB)
Enhances SRB by estimating the average gate fidelity of specific gates, including error analysis that accounts for systematic effects.
- Cycle Benchmarking (CB)
A more practical alternative to SRB for multi-qubit systems that uses fewer randomizing gates, can accommodate non-Clifford interleaved gates, and provides more fine-grained information about the noise.
- Noise Reconstruction (NR)
Data analysis method using CB diagnostic sequences to reconstruct efficient descriptions of a many-body noise process.
We provide the following tools for compiling circuits:
- Randomized Compiling (RC)
Takes a circuit and randomizes its gates using twirling groups while preserving the overall ideal unitary of the circuit (see ). This has the effect of converting coherent and non-Markovian error sources into stochastic errors, so that the resulting circuit-level errors are easier to predict (and typically smaller).
Transpiles quantum circuits into new quantum circuits that contain only gates that can be executed on a specific hardware platform. This includes a synthesizer for converting arbitrary unitary matrices into hardware compatible gates.
- Interfacing with External Software
Converts between the circuit representations of different software packages, including compiling into the gateset supported by the chosen software package. Currently, True-Qᵀᴹ supports conversion to and from Qiskit, Cirq, and pyQuil.
We provide the following tools for running circuits on simulators and hardware:
- Built-In Simulator
Our built-in simulator allows users to easily run simulations of circuits with built-in or customizable noise models. A simulator with a specified noise model can be initialized once and used to run any circuit thereafter.
- Executing Circuits on Qiskit Providers
Our executor allows users to easily run experiments on any hardware with a qiskit backend. This tool includes automated batching, job submission, pausing/resuming, and saving results to disk.