Skip to content

Compiling: Organize Circuit Transformers #3238

@balopat

Description

@balopat

Problem: Currently there are many different types of optimizers that serve different purposes spread across cirq and cirq.google. Roughly there are optimizers that perform gate compilation (transforming one gate set to another), simplify circuits in local regions (merging gates, pushing gates through each other, dropping gates near identity), restructure the circuit (stratify and synchronize measurements). The goal of this feature is to clarify which general user optimizers belong in cirq core and to establish documentation as to their behavior and interoperability. Potentially also useful here would be recipes of transformers that go naturally together.

Rough requirements:

  • Categorize basic circuit transformer types
  • Define boundaries for circuit transformers to be in core circuit
  • Provide documentation describing uses of these different types and interoperability.

Metadata

Metadata

Assignees

Labels

area/devicesroadmapfor higher level roadmap items to capture conversations and feedback (not for project tracking)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions