A fake device that was created to ensure certain Device validation features are

Inherits From: Device

leveraged in Circuit functions. It contains the minimum set of features that tests require. Feel free to extend the features here as needed.

qubits set of qubits on this device
name the name for repr
allowed_gates tuple of allowed gate types
allowed_qubit_types tuple of allowed qubit types
validate_locality if True, device will validate 2 qubit operations (except MeasurementGateOperations) whether the two qubits are adjacent. If True, GridQubits are assumed to be part of the allowed_qubit_types
auto_decompose_gates when set, for given gates it calls the cirq.decompose protocol



View source

Determines if it's possible to add an operation into a moment.

For example, on the XmonDevice two CZs shouldn't be placed in the same moment if they are on adjacent qubits.

operation The operation being added.
moment The moment being transformed.

Whether or not the moment will validate after adding the operation.


View source

Returns a device-valid decomposition for the given operation.

This method is used when adding operations into circuits with a device specified, to avoid spurious failures due to e.g. using a Hadamard gate that must be decomposed into native gates.


View source

Returns a set or frozenset of qubits on the device, if possible.

If the device has a finite set of qubits, then a set or frozen set of all qubits on the device is returned.

If the device has no well defined finite set of qubits (e.g. cirq.UnconstrainedDevice has this property), then None is returned.


View source

Raises an exception if a circuit is not valid.

circuit The circuit to validate.

ValueError The circuit isn't valid for this device.


View source

Raises an exception if a moment is not valid.

moment The moment to validate.

ValueError The moment isn't valid for this device.


View source

Raises an exception if an operation is not valid.

operation The operation to validate.

ValueError The operation isn't valid for this device.