Samples repeatedly from measurements in the computational basis.
cirq.sample_state_vector(
state_vector: np.ndarray,
indices: Sequence[int],
*,
qid_shape: Optional[Tuple[int, ...]] = None,
repetitions: int = 1,
seed: 'cirq.RANDOM_STATE_OR_SEED_LIKE' = None
) -> np.ndarray
Used in the notebooks
Note that this does not modify the passed in state.
Args |
state_vector
|
The multi-qubit state vector to be sampled. This is an
array of 2 to the power of the number of qubit complex numbers, and
so state must be of size 2**integer . The state_vector can be
a vector of size 2**integer or a tensor of shape
(2, 2, ..., 2) .
|
indices
|
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 its largest values in the 0th index.
|
qid_shape
|
The qid shape of the state_vector . Specify this argument
when using qudits.
|
repetitions
|
The number of times to sample.
|
seed
|
A seed for the pseudorandom number generator.
|
Returns |
Measurement results with True corresponding to the |1⟩ state.
The outer list is for repetitions, and the inner corresponds to
measurements ordered by the supplied qubits. These lists
are wrapped as a numpy ndarray.
|
Raises |
ValueError
|
repetitions is less than one or size of state_vector
is not a power of 2.
|
IndexError
|
An index from indices is out of range, given the number
of qubits corresponding to the state.
|