cirq.PhasedXZGate

class cirq.PhasedXZGate(*, x_exponent: Union[numbers.Real, sympy.core.basic.Basic], z_exponent: Union[numbers.Real, sympy.core.basic.Basic], axis_phase_exponent: Union[numbers.Real, sympy.core.basic.Basic])[source]

A single qubit operation expressed as $Z^z Z^a X^x Z^{-a}$.

The above expression is a matrix multiplication with time going to the left.
In quantum circuit notation, this operation decomposes into this circuit:

───Z^(-a)──X^x──Z^a────Z^z───$

The axis phase exponent (a) decides which axis in the XY plane to rotate
around. The amount of rotation around that axis is decided by the x
exponent (x). Then the z exponent (z) decides how much to phase the qubit.
__init__(*, x_exponent: Union[numbers.Real, sympy.core.basic.Basic], z_exponent: Union[numbers.Real, sympy.core.basic.Basic], axis_phase_exponent: Union[numbers.Real, sympy.core.basic.Basic]) → None[source]
Parameters
  • x_exponent – Determines how much to rotate during the axis-in-XY-plane rotation. The $x$ in $Z^z Z^a X^x Z^{-a}$.

  • z_exponent – The amount of phasing to apply after the axis-in-XY-plane rotation. The $z$ in $Z^z Z^a X^x Z^{-a}$.

  • axis_phase_exponent – Determines which axis to rotate around during the axis-in-XY-plane rotation. The $a$ in $Z^z Z^a X^x Z^{-a}$.

Methods

controlled([num_controls, control_values, …])

Returns a controlled version of this gate. If no arguments are

from_matrix(mat)

num_qubits()

The number of qubits this gate acts on.

on(*qubits)

Returns an application of this gate to the given qubits.

on_each(*targets)

Returns a list of operations applying the gate to all targets.

validate_args(qubits)

Checks if this gate can be applied to the given qubits.

with_probability(probability)

with_z_exponent(z_exponent)

wrap_in_linear_combination([coefficient])

Attributes

axis_phase_exponent

x_exponent

z_exponent