resource_estimator — Fault-Tolerant Resource Estimation¶
Fault-tolerant resource estimation using pytket (gate counting) and qualtran (Beverland et al. surface-code model).
Based on: arXiv:2211.07629 — "Assessing requirements to scale to practical quantum advantage"
Resource_Estimator¶
qiskit_impl.resource_estimator.Resource_Estimator ¶
Source code in qiskit_impl/resource_estimator.py
Functions¶
bev_resource_estimator ¶
Performs resource estimation on quantum circuit and returns statistics Inspired by https://arxiv.org/pdf/2211.07629 and using code from https://qualtran.readthedocs.io/en/latest/surface_code/beverland_et_al_model.html
Input: dict of arguments containing information about circuit of interest
Output: dict containing fault-tolerant resource estimation metrics
Source code in qiskit_impl/resource_estimator.py
Helper Functions¶
qiskit_impl.resource_estimator.get_circuit_metrics ¶
Takes a circuit and returns gate counts, circuit depth, etc. for resource estimation purposes
Input: Pytket Circuit Output: dictionary containing metrics
Source code in qiskit_impl/resource_estimator.py
qiskit_impl.resource_estimator.get_factory_params ¶
get_factory_params(R: int, Q_0: float, P_r: float, d: int, c: int, M: int, tau_d: float, C: int, error_budget: float, M_D=1)
Calculates n(D) and F for 15-1 space-efficient logical distillation factories Inputs
R - # Distillation rounds Q_0 - Physical qubit error rate P_r - logical Clifford gate error rate d - Code distance M - # T operations in circuit tau_d - Code distance cycle time (seconds) C - Logical timesteps of algorithm M_D - # T states generated from distillation error_budget - Acceptable error from algorithm
Outputs¶
F - # Factories n_D - # Physical Qubits
Source code in qiskit_impl/resource_estimator.py
qiskit_impl.resource_estimator.qasm_to_clifford_and_t ¶
Takes qiskit circuit and decomposes it to gates in the group Clifford + T using Solovay-Kitaev Decomposition From https://quantumcomputing.stackexchange.com/questions/16006/how-can-i-find-a-cliffordt-approximation-of-an-arbitrary-one-qubit-gate-in-qisk