cirq.EigenGate

class cirq.EigenGate(*, exponent: Union[cirq.value.symbol.Symbol, float] = 1.0)[source]

A gate with a known eigendecomposition.

EigenGate is particularly useful when one wishes for different parts of the same eigenspace to be extrapolated differently. For example, if a gate has a 2-dimensional eigenspace with eigenvalue -1, but one wishes for the square root of the gate to split this eigenspace into a part with eigenvalue i and a part with eigenvalue -i, then EigenGate allows this functionality to be unambiguously specified via the _eigen_components method.

__init__(*, exponent: Union[cirq.value.symbol.Symbol, float] = 1.0) → None[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

extrapolate_effect(factor)
inverse()
is_parameterized() Whether the effect is parameterized.
matrix()
on(*qubits) Returns an application of this gate to the given qubits.
trace_distance_bound() A maximum on the trace distance between this effect’s input/output.
try_cast_to(desired_type, ext) Turns this value into the desired type, if possible.
validate_args(qubits) Checks if this gate can be applied to the given qubits.
with_parameters_resolved_by(param_resolver) Resolve the parameters in the effect.