hypertket¶
- class quantinuum_schemas.models.hypertket_config.HyperTketConfig(
- *,
- rewrite_search_config: RewriteSearchConfig = RewriteSearchConfig(enable_rewrite_search=True),
- qubit_reuse_config: QubitReuseConfig | None = None,
Configuration for HyperTKET compilation.
- class quantinuum_schemas.models.hypertket_config.QubitReuseConfig(
- *,
- enable_qubit_reuse: bool = False,
- ordering_config: BruteForceOrderConfig | ConstrainedOptOrderConfig | LocalGreedyOrderConfig | LocalGreedyFirstNodeSearchOrderConfig | CustomOrderConfig | DefaultOrderConfig = DefaultOrderConfig(ordering_method='DefaultOrder'),
- min_qubits: Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])] | None = None,
- dual_circuit_strategy: DualStrat | None = DualStrat.AUTO,
Configuration for qubit reuse compilation pass. The DefaultOrderingConfig and DualStart.Auto are specified by default.
- class quantinuum_schemas.models.hypertket_config.DualStrat(
- value,
Strategy for dual circuit compilation.
DUAL peforms qubit reuse compilation on
the dual of the circuit. * SINGLE disables use of the dual circuit during qubit reuse compilation. * AUTO performs qubit reuse compilation on both the circuit and its dual. The output circuit with the minimal number of qubits is returned.
- class quantinuum_schemas.models.hypertket_config.BruteForceOrderConfig(
- *,
- ordering_method: Literal['BruteForceOrder'] = 'BruteForceOrder',
Performs all possible ordering and then estimates the ordering with the minimal number of qubits.
- class quantinuum_schemas.models.hypertket_config.ConstrainedOptOrderConfig(
- *,
- ordering_method: Literal['ConstrainedOptOrder'] = 'ConstrainedOptOrder',
- time_limit: Annotated[int, Ge(ge=0)] = 600,
- n_threads: Annotated[int, Ge(ge=1)] = 1,
- hint: list[int] | None = None,
Orders causal cones using a Constrained Programming Satisfiability (CP-SAT) model.
- class quantinuum_schemas.models.hypertket_config.LocalGreedyOrderConfig(
- *,
- ordering_method: Literal['LocalGreedyOrder'] = 'LocalGreedyOrder',
Ordering config for LocalGreedyOrder.
- class quantinuum_schemas.models.hypertket_config.LocalGreedyFirstNodeSearchOrderConfig(
- *,
- ordering_method: Literal['LocalGreedyFirstNodeSearchOrder'] = 'LocalGreedyFirstNodeSearchOrder',
Ordering config for LocalGreedyFirstNodeSearchOrder.
- class quantinuum_schemas.models.hypertket_config.DefaultOrderConfig(
- *,
- ordering_method: Literal['DefaultOrder'] = 'DefaultOrder',
Switches the Ordering Method used depending on the number of Qubits in the Circuit. The following specifies the ordering method for a specific circuit width.
BruteForceOrder: n_qubits <= 9;
ConstrainedOptOrder: 9 < n_qubits <= 30;
LocalGreedyFirstNodeSearchOrder: 30 < n_qubits <= 1000;
LocalGreedyOrder: n_qubits > 1000.