View source on GitHub |
An object that explicitly specifies how to act on specific qubits.
cirq.SupportsActOnQubits(
*args, **kwargs
)
Methods
_act_on_
_act_on_(
sim_state: 'cirq.SimulationStateBase', qubits: Sequence['cirq.Qid']
) -> Union[NotImplementedType, bool]
Applies an action to the given argument, if it is a supported type.
For example, unitary operations can implement an _act_on_
method that
checks if isinstance(sim_state, cirq.StateVectorSimulationState)
and,
if so, apply their unitary effect to the state vector.
The global cirq.act_on
method looks for whether or not the given
argument has this value, before attempting any fallback strategies
specified by the argument being acted on.
If implementing this on an Operation
, use SupportsActOn
instead.
Args | |
---|---|
sim_state
|
An object of unspecified type. The method must check if this object is of a recognized type and act on it if so. |
qubits
|
The sequence of qubits to use when applying the action. |
Returns | |
---|---|
True
|
The receiving object (self ) acted on the argument.
|
NotImplemented
|
The receiving object did not act on the argument.
All other return values are considered to be errors. |