iqm.benchmarks.entanglement.ghz_optimal.TreeSearchOptions#
- class iqm.benchmarks.entanglement.ghz_optimal.TreeSearchOptions(objective: str = 'estimated_fidelity', idle_penalty: float = 1.0, depth_penalty: float = 0.05, cz_duration: float = 4e-08)#
Bases:
objectHow the tree search trades gate fidelity against circuit depth.
Attributes
Duration of one CZ layer in seconds, used by the idle term of
"estimated_fidelity".Cost of one CZ layer for the
"depth_penalty"objective, in units of-log fidelity.Weight of the idle-decoherence term of the
"estimated_fidelity"objective.Which cost to minimize, one of
TREE_OBJECTIVES.Methods
__delattr__(name)Implement delattr(self, name).
__eq__(other)Return self==value.
__hash__()Return hash(self).
__repr__()Return repr(self).
__setattr__(name, value)Implement setattr(self, name, value).
- objective: str = 'estimated_fidelity'#
Which cost to minimize, one of
TREE_OBJECTIVES."estimated_fidelity"scores a candidate by its estimated GHZ infidelity,gate_cost + idle_penalty * sum(idle time * (1/T1 + 1/T2)), wheregate_costis_gate_cost(): the-logfidelity of the tree’s CZs plus that of the single-qubit gates around them."depth_penalty"uses the simplergate_cost + depth_penalty * number of CZ layers, which needs no coherence times."min_error"scores by the gate fidelity alone, which is what this routine did before the idle term existed: it selects the same edges as a minimum spanning tree, so it is the setting to use to reproduce older results.
- idle_penalty: float = 1.0#
Weight of the idle-decoherence term of the
"estimated_fidelity"objective.0.0disables it (leaving the gate fidelity product), values above1.0buy depth more aggressively than the T1 and T2 estimate alone would justify.
- depth_penalty: float = 0.05#
Cost of one CZ layer for the
"depth_penalty"objective, in units of-log fidelity.The scale that matters is what a layer costs the whole register, roughly
num_qubits * layer duration / T2; on a 45-qubit chip with 100 ns layers and T2 = 40 us that is about0.05, which is the default. Values well below it never buy depth, since one layer of a 45-qubit tree is worth several CZ gates’ worth of error.