cirq.ResetChannel

class cirq.ResetChannel(dimension: int = 2)[source]

Reset a qubit back to its |0⟩ state.

The reset channel is equivalent to performing an unobserved measurement
which then controls a bit flip onto the targeted qubit.
__init__(dimension: int = 2) → None[source]

The reset channel.

Construct a channel that resets the qubit.

This channel evolves a density matrix as follows:

$$ \rho \rightarrow M_0 \rho M_0^\dagger + M_1 \rho M_1^\dagger $$
With:

$$ \begin{aligned} M_0 =& \begin{bmatrix} 1 & 0 \newline 0 & 0 \end{bmatrix} \newline M_1 =& \begin{bmatrix} 0 & 1 \newline 0 & 0 \end{bmatrix} \end{aligned} $$

Parameters

dimension – Specify this argument when resetting a qudit. There will be dimension number of dimension by dimension matrices describing the channel, each with a 1 at a different position in the top row.

Methods

controlled([num_controls, control_values, …])

Returns a controlled version of this gate. If no arguments are

num_qubits()

The number of qubits this gate acts on.

on(*qubits)

Returns an application of this gate to the given qubits.

on_each(*targets)

Returns a list of operations applying the gate to all targets.

validate_args(qubits)

Checks if this gate can be applied to the given qubits.

wrap_in_linear_combination([coefficient])

Attributes

dimension

The dimension of the qudit being reset.