cirq_pasqal.pasqal_device.PasqalVirtualDevice

A Pasqal virtual device with qubits in 3d.

Inherits From: PasqalDevice

A virtual representation of a Pasqal device, enforcing the constraints typically found in a physical device. The qubits can be positioned in 3d space, although 2d layouts will be supported sooner and are thus recommended. Only accepts qubits with physical placement.

control_radius the maximum distance between qubits for a controlled gate. Distance is measured in units of the coordinates passed into the qubit constructor.
qubits Qubits on the device, identified by their x, y, z position. Must be of type ThreeDQubit, TwoDQubit, LineQubit or GridQubit.

ValueError if the wrong qubit type is provided or if invalid parameter is provided for control_radius.

maximum_qubit_number

metadata Returns the associated Metadata with the device if applicable.
supported_qubit_type

Methods

distance

View source

Returns the distance between two qubits.

Args
p qubit involved in the distance computation
q qubit involved in the distance computation

Raises
ValueError If p or q not part of the device

Returns
The distance between qubits p and q.

is_pasqal_device_op

View source

minimal_distance

View source

Returns the minimal distance between two qubits in qubits.

Args
qubits qubit involved in the distance computation

Raises
ValueError If the device has only one qubit

Returns
The minimal distance between qubits, in spacial coordinate units.

qubit_list

View source

validate_circuit

View source

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

View source

Raises an error if the given moment is invalid on this device.

Args
moment The moment to validate.

Raises
ValueError If the given moment is invalid.

validate_operation

View source

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

__eq__

__ne__