Performs a measurement of the state in the computational basis.
qid_shape: Optional[Tuple[int, ...]] = None,
out: np.ndarray = None,
seed: "cirq.RANDOM_STATE_OR_SEED_LIKE" = None
) -> Tuple[List[int], np.ndarray]
Used in the notebooks
This does not modify
state unless the optional
The state to be measured. This state vector is assumed to
be normalized. The state vector must be of size 2 ** integer. The
state vector can be of shape (2 ** integer) or (2, 2, ..., 2).
Which qubits are measured. The
state_vector is assumed to be
supplied in big endian order. That is the xth index of v, when
expressed as a bitstring, has the largest values in the 0th index.
The qid shape of the
state_vector. Specify this argument
when using qudits.
An optional place to store the result. If
out is the same as
state_vector parameter, then
state_vector will be modified
out is not None, then the result is put into
out is None a new value will be allocated. In all of these
case out will be the same as the returned ndarray of the method.
The shape and dtype of
out will match that of
out is None, otherwise it will match the shape and dtype of
A seed for the pseudorandom number generator.
A tuple of a list and an numpy array. The list is an array of booleans
corresponding to the measurement values (ordered by the indices). The
numpy array is the post measurement state vector. This state vector has
the same shape and dtype as the input
ValueError if the size of state is not a power of 2.
IndexError if the indices are out of range for the number of qubits
corresponding to the state.