Skip to content

Add a transpiler pass to converts rotations to simpler standard gates #15309

@alexanderivrii

Description

@alexanderivrii

What should we add?

We need a transpiler pass to convert RZ, RX (and possibly other) rotations in a circuit to parameterless standard gates, for instance RZ(pi/4) to T, RX(pi/2) to SX, RX(3pi/4) to T+S, etc. (including the correct update to the global phase).

This would be especially useful for Clifford+T transpiler pipeline, as we have passes that merge multiple RZ-rotations into a single RZ, but we want to return to the Clifford+T basis.

Ideally, the transpiler pass should be written in Rust, and should use the same fidelity-based approximations as used elsewhere in Qiskit to decide if a rotation gate is sufficiently close to say RZ(pi/4)-rotation.

Question for @jakelishman: can BasisConstructor do this?

Metadata

Metadata

Assignees

Labels

Projects

Status

Ready

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions