Replaces operations and moments with noisy counterparts.
Used in the notebooks
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.
Methods
from_noise_model_like
View source
@classmethod from_noise_model_like( noise: cirq.NOISE_MODEL_LIKE ) -> cirq.NoiseModel
Transforms an object into a noise model if unambiguously possible.
| 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_moment
View source
is_virtual_moment( moment: cirq.Moment ) -> bool
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 | cirq.Moment 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
noisy_moment( moment: cirq.Moment, system_qubits: Sequence[cirq.Qid] ) -> cirq.OP_TREE
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
noisy_moments( moments: Iterable[cirq.Moment], system_qubits: Sequence[cirq.Qid] ) -> Sequence[cirq.OP_TREE]
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
noisy_operation( operation: cirq.Operation ) -> cirq.OP_TREE
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. |