# 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.