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.