cirq.NoiseModelFromNoiseProperties

Replaces operations and moments with noisy counterparts.

Inherits From: NoiseModel

A child class must override at least one of the following three methods:

noisy_moments
noisy_moment
noisy_operation

The methods that are not overridden will be implemented in terms of the ones that are.

Simulators told to use a noise model will use these methods in order to dynamically rewrite the program they are simulating.

noise_properties the NoiseProperties object to be converted to a Noise Model.

ValueError if no NoiseProperties object is specified.

Methods

from_noise_model_like

View source

Transforms an object into a noise model if umambiguously possible.

Args
noise None, a cirq.NoiseModel, or a single qubit operation.

Returns
cirq.NO_NOISE when given None, cirq.ConstantQubitNoiseModel(gate) when given a single qubit gate, or the given value if it is already a cirq.NoiseModel.

Raises
ValueError If noise is a cirq.Gate that acts on more than one qubit.
TypeError The input is not a cirq.NOISE_MODE_LIKE.

is_virtual

View source

Returns True if an operation is virtual.

Device-specific subclasses should implement this method to mark any operations which their device handles outside the quantum hardware.

Args
op an operation to check for virtual indicators.

Returns
True if op is virtual.

is_virtual_moment

View source

Returns true iff the given moment is non-empty and all of its operations are virtual.

Moments for which this method returns True should not have additional noise applied to them.

Args
moment <a href="../cirq/Moment"><code>cirq.Moment</code></a> to check for non-virtual operations.

Returns
True if "moment" is non-empty and all operations in "moment" are virtual; false otherwise.

noisy_moment

View source

Adds noise to the operations from a moment.

Args
moment The moment to add noise to.
system_qubits A list of all qubits in the system.

Returns
An OP_TREE corresponding to the noisy operations for the moment.

noisy_moments

View source

Adds possibly stateful noise to a series of moments.

Args
moments The moments to add noise to.
system_qubits A list of all qubits in the system.

Returns
A sequence of OP_TREEs, with the k'th tree corresponding to the noisy operations for the k'th moment.

noisy_operation

View source

Adds noise to an individual operation.

Args
operation The operation to make noisy.

Returns
An OP_TREE corresponding to the noisy operations implementing the noisy version of the given operation.