qxmt.devices.base module#
- class qxmt.devices.base.BaseDevice(platform, device_name, backend_name, n_qubits, shots, random_seed=None, logger=<Logger qxmt.devices.base (INFO)>)
Bases:
ABC
Abstract base class for quantum devices.
- Parameters:
platform (str)
device_name (str)
backend_name (str | None)
n_qubits (int)
shots (int | None)
random_seed (int | None)
logger (Logger)
- __init__(platform, device_name, backend_name, n_qubits, shots, random_seed=None, logger=<Logger qxmt.devices.base (INFO)>)
Initialize the quantum device.
- Parameters:
platform (str) – platform name (ex: pennylane, qulacs, etc.)
device_name (str) – device name provided by the platform (ex: default.qubit, default.tensor, etc.)
backend_name (Optional[str]) – backend name for the real device
n_qubits (int) – number of qubits
shots (Optional[int]) – number of shots for the quantum circuit
random_seed (Optional[int]) – random seed for the quantum device
logger (Logger) – logger instance
- Return type:
None
- abstractmethod get_backend_name()
Get real machine backend name.
- Returns:
backend name
- Return type:
str
- abstractmethod get_device()
Get the quantum device instance.
- Returns:
quantum device instance
- Return type:
Any
- abstractmethod get_job_ids(created_after=None, created_before=None)
Get the job IDs.
- Parameters:
created_after (Optional[datetime]) – created datetime of the jobs. If None, start time filter is not applied.
created_before (Optional[datetime]) – finished datetime of the jobs. If None, end time filter is not applied.
- Returns:
job IDs
- Return type:
list[str]
- abstractmethod get_provider()
Get real machine provider name.
- Returns:
provider name
- Return type:
str
- is_amazon_device(device_type='all')
Check if the device is an Amazon Braket device.
- Parameters:
device_type (Literal["local", "remote", "all"]) – type of Amazon Braket device
- Returns:
True if the device is an Amazon Braket device, False otherwise
- Return type:
bool
- is_ibmq_device()
Check if the device is an IBM Quantum device.
- Returns:
True if the device is an IBM Quantum device, False otherwise
- Return type:
bool
- abstractmethod is_remote()
Check if the device is a remote device.
- Returns:
True if the device is a remote device, False otherwise
- Return type:
bool
- abstractmethod is_simulator()
Check if the device is a simulator or real machine.
- Returns:
True if the device is a simulator, False otherwise
- Return type:
bool