qat.purr.compiler.hardware_models module
- class HardwareModel(shot_limit=-1, engine_types=None, builder_types=None)
Bases:
object
Base class for all hardware models. Every model should return the builder class that should be used to build circuits/pulses for its particular back-end.
-
builder_types:
List
[TypeVar
(AnyBuilder
)]
-
engine_types:
List
[TypeVar
(AnyEngine
)]
- get_builder()
- get_engine()
-
builder_types:
- class QuantumHardwareModel(shot_limit=10000, acquire_mode=None, repeat_count=1000, repetition_period=0.0001, engine_types=None, builder_types=None)
Bases:
HardwareModel
,Calibratable
Object modelling our superconducting hardware. Holds up-to-date information about a current piece of hardware, whether simulated or physical machine.
- add_device(device)
- add_physical_baseband(*basebands)
- add_physical_channel(*physical_channels)
- add_pulse_channel(*pulse_channels)
- add_quantum_device(*devices)
- constrain(angle)
- get_device(id_)
- get_devices_from_physical_channel(id_)
- get_devices_from_pulse_channel(id_)
- get_gate_U(qubit, theta, phi, lamb, pulse_channel=None)
- get_gate_X(qubit, theta, pulse_channel=None)
- get_gate_Y(qubit, theta, pulse_channel=None)
- get_gate_Z(qubit, theta, pulse_channel=None)
- get_gate_ZX(qubit, theta, target_qubit)
- get_hw_x_pi_2(qubit, pulse_channel=None, amp_scale=None)
- Return type:
List
[Any
]
- get_hw_z(qubit, phase, pulse_channel=None)
- Return type:
List
[Any
]
- get_hw_zx_pi_4(qubit, target_qubit)
- Return type:
List
[Any
]
- get_physical_baseband(id_)
- get_physical_channel(id_)
- get_pulse_channel_from_device(ch_type, host_device_id, aux_device_ids=None)
- get_pulse_channel_from_id(id_)
- get_pulse_channels_from_physical_channel(physical_channel_id)
- get_quantum_device(id_)
- get_qubit(id_)
Returns a qubit based on id/index. If the passed-in object is already a Qubit object just returns that.
- Return type:
- has_qubit(id_)
- property is_calibrated
- property qubits
Returns list of the qubits on this hardware sorted by index.
- property resonators