QECScheme#
qualtran.surface_code.QECScheme
View source on GitHub
|
A model of the error-correction scheme used to suppress errors
qualtran.surface_code.QECScheme(
error_rate_scaler, error_rate_threshold
)
This class primarily provides a formula for estimating the logical error rate given code parameters (i.e. the distance) and a physical error rate. The class attributes parameterize this formula.
This class also provides the formula for computing the number of physical qubits required to store one logical qubit.
The logical error rate as a function of code distance \(d\) and physical error rate \(p\) is given by
Note: The logical error-suppression factor \(\Lambda = \frac{p^*}{p}\)
Attributes
Methods#
logical_error_rate
logical_error_rate(
code_distance: int, physical_error: float
) -> float
Logical error suppressed with code distance for this physical error rate.
This is an estimate, see the references section.
The formula was originally expressed as \(p_l = a (b * p_p)^((d+1)/2)\) physical error rate \(p_p\) and parameters \(a\) and \(b\). This can alternatively be expressed with \(p_th = (1/b)\) roughly corresponding to the code threshold. This is sometimes also expressed with \(lambda = p_th / p_p\). A lambda of 10, for example, would be p_p = 1e-3 and p_th = 0.01. The pre-factor \(a\) has no clear provenance.
References
Notethis doesn’t actually contain the formula from the above reference.
code_distance_from_budget
code_distance_from_budget(
physical_error: float, budget: float
) -> int
Get the code distance that keeps one below the logical error budget.
physical_qubits
@abc.abstractmethodphysical_qubits( code_distance: int ) -> int
The number of physical qubits per logical qubit used by the error detection circuit.
make_gidney_fowler
@classmethodmake_gidney_fowler()
The qec scheme parameters considered in the Gidney/Fowler set of references.
References
make_beverland_et_al
@classmethodmake_beverland_et_al()
The qec scheme parameters considered in Beverland et al. reference.
References
__ne__
__ne__(
other
)
Check equality and either forward a NotImplemented or return the result negated.
__eq__
__eq__(
other
)
Method generated by attrs for class QECScheme.
View source on GitHub