A generic Pasqal device.
cirq_pasqal.pasqal_device.PasqalDevice(
qubits: Sequence[cirq.Qid]
) -> None
The most general of Pasqal devices, enforcing only restrictions expected to
be shared by all future devices. Serves as the parent class of all Pasqal
devices, but can also be used on its own for hosting a nearly unconstrained
device. When used as a circuit's device, the qubits have to be of the type
cirq.NamedQubit and assumed to be all connected, the idea behind it being
that after submission, all optimization and transpilation necessary for its
execution on the specified device are handled internally by Pasqal.
Args |
qubits
|
NamedQubit
Qubits on the device, exclusively unrelated to
a physical position.
|
Raises |
TypeError
|
If the wrong qubit type is provided.
|
ValueError
|
If the number of qubits is greater than the devices maximum.
|
Attributes |
maximum_qubit_number
|
|
metadata
|
Returns the associated Metadata with the device if applicable.
|
supported_qubit_type
|
|
Methods
is_pasqal_device_op
View source
is_pasqal_device_op(
op: cirq.Operation
) -> bool
qubit_list
View source
qubit_list()
validate_circuit
View source
validate_circuit(
circuit: 'cirq.AbstractCircuit'
) -> None
Raises an error if the given circuit is invalid on this device.
A circuit is invalid if any of its moments are invalid or if there
is a non-empty moment after a moment with a measurement.
Args |
circuit
|
The circuit to validate
|
Raises |
ValueError
|
If the given circuit can't be run on this device
|
validate_moment
validate_moment(
moment: 'cirq.Moment'
) -> None
Raises an exception if a moment is not valid.
Args |
moment
|
The moment to validate.
|
Raises |
ValueError
|
The moment isn't valid for this device.
|
validate_operation
View source
validate_operation(
operation: cirq.Operation
)
Raises an error if the given operation is invalid on this device.
Args |
operation
|
The operation to validate.
|
Raises |
ValueError
|
If the operation is not valid.
|
NotImplementedError
|
If the operation is a measurement with an invert
mask.
|
__eq__
__eq__(
other: _SupportsValueEquality
) -> bool
__ne__
__ne__(
other: _SupportsValueEquality
) -> bool