class Optional[] = None, ignore_failures=False)[source]

Attempts to convert non-native gates into SycamoreGates.

First, checks if the given operation is already a native sycamore operation.

Second, checks if the operation has a known unitary. If so, and the gate
is a 1-qubit or 2-qubit gate, then performs circuit synthesis of the

Third, attempts to cirq.decompose to the operation.

Fourth, if ignore_failures is set, gives up and returns the gate unchanged.
Otherwise raises a TypeError.
__init__(tabulation: Optional[] = None, ignore_failures=False) → None[source]
  • tabulation – If set, a tabulation for the Sycamore gate to use for decomposing Matrix gates. If unset, an analytic calculation is used for Matrix gates. To get a GateTabulation, call the gate_product_tabulation method with a base gate (in this case, usually and a maximum infidelity.

  • ignore_failures – If set, gates that fail to convert are forwarded unchanged. If not set, conversion failures raise a TypeError.



optimization_at(circuit, index, op)

Describes how to change operations near the given location.