cirq.google.Exp11Gate

class cirq.google.Exp11Gate(*, half_turns: Union[cirq.value.symbol.Symbol, float, NoneType] = None, rads: Union[float, NoneType] = None, degs: Union[float, NoneType] = None)[source]

A two-qubit interaction that phases the amplitude of the 11 state.

This gate is exp(i * pi * |11><11| * half_turn).

Note that this half_turn parameter is such that a full turn is the identity matrix, in contrast to the single qubit gates, where a full turn is minus identity. The single qubit half-turn gates are defined so that a full turn corresponds to a rotation on the Bloch sphere of a 360 degree rotation. For two qubit gates, there isn’t a Bloch sphere, so the half_turn corresponds to half of a full rotation in U(4).

__init__(*, half_turns: Union[cirq.value.symbol.Symbol, float, NoneType] = None, rads: Union[float, NoneType] = None, degs: Union[float, NoneType] = None) → None[source]

Initializes the gate.

At most one angle argument may be specified. If more are specified, the result is considered ambiguous and an error is thrown. If no angle argument is given, the default value of one half turn is used.

Parameters:
  • half_turns – The amount of phasing of the 11 state, in half_turns.
  • rads – The amount of phasing of the 11 state, in radians.
  • degs – The amount of phasing of the 11 state, in degrees.

Methods

from_proto(op)
has_matrix()
is_parameterized() Whether the effect is parameterized.
is_xmon_op(op)
known_qasm_output(qubits, …], args) Returns lines of QASM output representing the gate on the given qubits or None if a simple conversion is not possible.
matrix()
on(*qubits) Returns an application of this gate to the given qubits.
parameterized_value_from_proto(message)
parameterized_value_to_proto(param, float], out)
phase_by(phase_turns, qubit_index) Returns a phased version of the effect.
qubit_index_to_equivalence_group_key(index) Returns a key that differs between non-interchangeable qubits.
text_diagram_info(args) Describes how to draw something in a text diagram.
to_proto(*qubits)
try_cast_to(desired_type, ext) Turns this value into the desired type, if possible.
try_get_xmon_gate(op)
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.