Skip to content

Easier compilation to discrete basis sets #13695

@Cryoris

Description

@Cryoris

What should we add?

From discussions with @alexanderivrii: It would be nice if we could detect a discrete basis set in transpile or the preset PMs and then use a discrete basis synthesis, like the Solovay-Kitaev algorithm (or others in the future). Something like

transpile(circuit, basis_gates=["h", "t", "tdg", "cx"], translation_method="synthesis")

One way to do this could be to write a default plugin for discrete basis that takes n-qubits unitaries to U + {2q-gates in the basis gates} (e.g. using the existing unitary synthesis workflow) and then uses the Solovay-Kitaev algorithm to decompose the 1-qubit U gates.

It would be even nicer to skip the translation_method="synthesis" argument, but that might be necessary to distinguish the command from trying to use the basis translator (alternatively, we could auto-select based on the basis gates and users can force a behavior by setting this arg).

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions