Returns the state vector resulting from acting operations on a state.
cirq.final_state_vector(
program: 'cirq.CIRCUIT_LIKE',
*,
initial_state: 'cirq.STATE_VECTOR_LIKE' = 0,
param_resolver: 'cirq.ParamResolverOrSimilarType' = None,
qubit_order: 'cirq.QubitOrderOrList' = cirq.QubitOrder.DEFAULT
,
ignore_terminal_measurements: bool = False,
dtype: Type[np.complexfloating] = np.complex64,
seed: 'cirq.RANDOM_STATE_OR_SEED_LIKE' = None
) -> np.ndarray
Used in the notebooks
By default the input state is the computational basis zero state, in which
case the output is just the first column of the implied unitary matrix.
Args |
program
|
The circuit, gate, operation, or tree of operations
to apply to the initial state in order to produce the result.
|
initial_state
|
If an int, the state is set to the computational
basis state corresponding to this state. Otherwise if this
is a np.ndarray it is the full initial state. In this case it
must be the correct size, be normalized (an L2 norm of 1), and
be safely castable to an appropriate dtype for the simulator.
|
param_resolver
|
Parameters to run with the program.
|
qubit_order
|
Determines the canonical ordering of the qubits. This
is often used in specifying the initial state, i.e. the
ordering of the computational basis states.
|
ignore_terminal_measurements
|
When set, measurements at the end of
the circuit are ignored instead of causing the method to
fail.
|
dtype
|
The numpy.dtype used by the simulation. Typically one of
numpy.complex64 or numpy.complex128 .
|
seed
|
The random seed to use for this simulator.
|
Returns |
The state vector resulting from applying the given unitary operations to
the desired initial state. Specifically, a numpy array containing the
amplitudes in np.kron order, where the order of arguments to kron
is determined by the qubit order argument (which defaults to just
sorting the qubits that are present into an ascending order).
|
Raises |
ValueError
|
If the program doesn't have a well defined final state because
it has non-unitary gates.
|