NoiseModel with T1 decay on gates and damping/bitflip on measurement.
cirq_google.experimental.PerQubitDepolarizingWithDampedReadoutNoiseModel(
depol_probs: Optional[Dict[cirq.Qid, float]] = None,
bitflip_probs: Optional[Dict[cirq.Qid, float]] = None,
decay_probs: Optional[Dict[cirq.Qid, float]] = None
)
With this model, T1 decay is added after all non-measurement gates, then
amplitude damping followed by bitflip error is added before all measurement
gates. Idle qubits are unaffected by this model.
As with the DepolarizingWithDampedReadoutNoiseModel, this model does not
allow a moment to contain both measurement and non-measurement gates.
Args |
depol_probs
|
Dict of depolarizing probabilities for each qubit.
|
bitflip_probs
|
Dict of bit-flip probabilities during measurement.
|
decay_probs
|
Dict of T1 decay probabilities during measurement.
Bitflip noise is applied first, then amplitude decay.
|
Methods
from_noise_model_like
@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
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
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
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.
|