qxmt.devices.builder module#
- class qxmt.devices.builder.DeviceBuilder(config, logger=<Logger qxmt.devices.builder (INFO)>)
Bases:
object
Builder class for quantum devices. This class abstracts the instantiation of quantum device objects across multiple platforms (e.g., PennyLane, IBMQ, Amazon Braket) based on a unified configuration.
This builder enables users to create a device instance by simply providing a DeviceConfig, without worrying about the underlying platform-specific details.
- Parameters:
config (DeviceConfig) – Configuration for the quantum device. This includes platform, device name, backend name, number of qubits, shots, and random seed.
logger (Any) – Logger instance for logging.
- build() BaseDevice
Instantiates and returns a quantum device object corresponding to the specified platform and device name.
- Return type:
BaseDevice
- Returns:
An instance of a quantum device suitable for the specified platform and configuration.
- Return type:
BaseDevice
- Parameters:
config (DeviceConfig)
logger (Any)
Example
>>> from qxmt.configs import DeviceConfig >>> from qxmt.devices.builder import DeviceBuilder >>> config = DeviceConfig( ... platform="pennylane", ... device_name="default.qubit", ... backend_name=None, ... n_qubits=2, ... shots=1000, ... random_seed=42, ... ) >>> device = DeviceBuilder(config).build()
- __init__(config, logger=<Logger qxmt.devices.builder (INFO)>)
Initialize the device builder.
- Parameters:
config (DeviceConfig) – Configuration for the quantum device. It is element of the ExperimentConfig.
logger (Any)
- Return type:
None
- build()
Build a quantum device. it can be a general-purpose device overseeing multiple platforms.
- Returns:
General-purpose device overseeing multiple platforms
- Return type:
BaseDevice