Optimize1qGates

class Optimize1qGates(*args, **kwargs)[source]

Optimize chains of single-qubit u1, u2, u3 gates by combining them into a single gate.

Optimize1qGates initializer.

Parameters
  • basis (list[str]) – Basis gates to consider, e.g. [‘u3’, ‘cx’]. For the effects of this pass, the basis is the set intersection between the basis parameter and the set {‘u1’,’u2’,’u3’}.

  • eps (float) – EPS to check against

Attributes

Optimize1qGates.is_analysis_pass

Check if the pass is an analysis pass.

Optimize1qGates.is_transformation_pass

Check if the pass is a transformation pass.

Methods

Optimize1qGates.compose_u3(theta1, phi1, …)

Return a triple theta, phi, lambda for the product.

Optimize1qGates.name()

Return the name of the pass.

Optimize1qGates.run(dag)

Run the Optimize1qGates pass on dag.

Optimize1qGates.yzy_to_zyz(xi, theta1, theta2)

Express a Y.Z.Y single qubit gate as a Z.Y.Z gate.