IcebergBuilder¶
- class guppyft.code.iceberg.encode.IcebergBuilder(*, _options: _IcebergOptions = _IcebergOptions(qed_policy=IcebergQEDPolicy(threshold=1, costs=IcebergQEDPolicy.OperationCosts(idle=0.0, alloc_dynq=0.0, x=0.0, y=0.0, z=0.0, x_all=0.0, y_all=0.0, z_all=0.0, x_all_except_at=0.0, z_all_except_at=0.0, x_all_except_z_at=0.0, z_all_except_x_at=0.0, rx=0.0, rz=0.0, pauli_exp_x_all=0.0, pauli_exp_y_all=0.0, pauli_exp_z_all=0.0, pauli_exp_x_all_except_at=0.0, pauli_exp_z_all_except_at=0.0, pauli_exp_x_all_except_z_at=0.0, pauli_exp_z_all_except_x_at=0.0, h_all=0.0, cx_all=0.0, cx_intrablock=0.0, cx_interblock=0.0, xx_intrablock=0.0, yy_intrablock=0.0, zz_intrablock=0.0, xx_phase_intrablock=0.0, xx_phase_interblock=0.0, yy_phase_intrablock=0.0, yy_phase_interblock=0.0, zz_phase_intrablock=0.0, zz_phase_interblock=0.0, fan_in=0.0, fan_out=0.0, swap_intrablock=0.0)), syndrome_during_measurement=False, state_factory_conf=RUSStateFactoryConf(size=1, max_attempts=3), dynamic_qubit_reuse=<DynamicQubitReuse.enabled: 'enabled'>))[source]¶
Iceberg architecture builder class for creating IcebergInstance objects.
- __eq__(other)¶
Return self==value.
- __init__(*, _options: _IcebergOptions = _IcebergOptions(qed_policy=IcebergQEDPolicy(threshold=1, costs=IcebergQEDPolicy.OperationCosts(idle=0.0, alloc_dynq=0.0, x=0.0, y=0.0, z=0.0, x_all=0.0, y_all=0.0, z_all=0.0, x_all_except_at=0.0, z_all_except_at=0.0, x_all_except_z_at=0.0, z_all_except_x_at=0.0, rx=0.0, rz=0.0, pauli_exp_x_all=0.0, pauli_exp_y_all=0.0, pauli_exp_z_all=0.0, pauli_exp_x_all_except_at=0.0, pauli_exp_z_all_except_at=0.0, pauli_exp_x_all_except_z_at=0.0, pauli_exp_z_all_except_x_at=0.0, h_all=0.0, cx_all=0.0, cx_intrablock=0.0, cx_interblock=0.0, xx_intrablock=0.0, yy_intrablock=0.0, zz_intrablock=0.0, xx_phase_intrablock=0.0, xx_phase_interblock=0.0, yy_phase_intrablock=0.0, yy_phase_interblock=0.0, zz_phase_intrablock=0.0, zz_phase_interblock=0.0, fan_in=0.0, fan_out=0.0, swap_intrablock=0.0)), syndrome_during_measurement=False, state_factory_conf=RUSStateFactoryConf(size=1, max_attempts=3), dynamic_qubit_reuse=<DynamicQubitReuse.enabled: 'enabled'>)) None¶
- __repr__()¶
Return repr(self).
- build(*, n_blocks: int, block_size: int) IcebergInstance[source]¶
Build an IcebergInstance configured for n_blocks logical blocks each with block_size logical qubits.
- with_dynamic_qubit_reuse(conf: DynamicQubitReuse) Self[source]¶
Set whether dynamic qubits should be reset and reused.
- with_qed_policy(qed_policy: IcebergQEDPolicy) Self[source]¶
Set the QED policy.
- with_state_factory_conf(conf: RUSStateFactoryConf) Self[source]¶
Set the configuration for the state factory producing Iceberg blocks.