PhysicalCostModel#
qualtran.surface_code.PhysicalCostModel
View source on GitHub
|
A model for estimating physical costs from algorithm counts.
qualtran.surface_code.PhysicalCostModel(
physical_params, data_block, factory, qec_scheme
)
The model is parameterized by 1) properties of the target hardware architecture encapsulated
in the data class PhysicalParameters, and 2) Execution protocol design choices.
We further factor the design choices into a) the data block design for storing algorithm qubits, b) the magic state factory construction, and c) the error suppression ability of the code.
Each method for computing physical costs take AlgorithmSummary inputs: the number of
algorithm qubits and the number of algorithm gates. Output quantities
include the wall-clock time, the number of physical qubits, and the probability of failure
due to the physical realization of the algorithm.
Time costs#
The amount of time to run an algorithm is modeled as the greater of two quantities:
The number of cycles required to generate enough magic states (via the factory), and
the number of cycles required to consume the magic states (via the data_block). The model
assumes that the rate of magic state generation is slower than the reaction limit. Each
cycle takes a fixed amount of wall-clock time, given by architecture.
Space costs#
The number of physical qubits is the sum of the number of factory qubits and data block qubits.
Error#
We assume the constituent error probabilities are sufficiently low to permit a first-order
approximation for combining sources of error. The total error is the sum of error probabilities
due to magic state production (via factory) and data errors (via data_block). Note that
the total error in data storage depends on the number of cycles, which depends on the
factory design.
Args
physical_paramsThe physical parameters of the target hardware
data_blockThe design of the data block
factoryThe construction of the magic state factory/ies
qec_schemeThe scheme used to suppress errors.
Attributes
Methods#
n_cycles
n_cycles(
algo_summary: 'AlgorithmSummary'
) -> int
The number of error correction cycles required to execute the algorithm.
duration_hr
duration_hr(
algo_summary: 'AlgorithmSummary'
)
The duration in hours required to execute the algorithm.
n_phys_qubits
n_phys_qubits(
algo_summary: 'AlgorithmSummary'
) -> int
The number of physical qubits required to execute the algorithm
error
error(
algo_summary: 'AlgorithmSummary'
) -> float
The total error rate of executing the algorithm.
make_gidney_fowler
@classmethodmake_gidney_fowler( data_d: int )
make_beverland_et_al
@classmethodmake_beverland_et_al( data_d: int, data_block_name: str = 'compact', factory_ds: Tuple = (9, 3, 3) )
__ne__
__ne__(
other
)
Check equality and either forward a NotImplemented or return the result negated.
__eq__
__eq__(
other
)
Method generated by attrs for class PhysicalCostModel.
View source on GitHub