Skip to content

[WIP] Pauli evolve in rust#14677

Draft
ShellyGarion wants to merge 4 commits intoQiskit:mainfrom
ShellyGarion:rust-evolve
Draft

[WIP] Pauli evolve in rust#14677
ShellyGarion wants to merge 4 commits intoQiskit:mainfrom
ShellyGarion:rust-evolve

Conversation

@ShellyGarion
Copy link
Copy Markdown
Member

@ShellyGarion ShellyGarion commented Jun 30, 2025

Summary

Pauli evolution by a Clifford in rust.
This is needed for #14657.

Details and comments

  • This currently implements pauli.evolve(clifford, frame="s"). For pauli.evolve(clifford, frame="h") we should calculate clifford.adjoint().
  • The rust code should be written more efficiently.
  • performance benchmarks should be added (n = 50, 100, 200...)

@ShellyGarion ShellyGarion added this to the 2.2.0 milestone Jun 30, 2025
@ShellyGarion ShellyGarion added the mod: quantum info Related to the Quantum Info module (States & Operators) label Jun 30, 2025
@coveralls
Copy link
Copy Markdown

coveralls commented Jun 30, 2025

Pull Request Test Coverage Report for Build 18906329844

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 292 of 292 (100.0%) changed or added relevant lines in 1 file are covered.
  • 1964 unchanged lines in 56 files lost coverage.
  • Overall coverage decreased (-0.007%) to 88.215%

Files with Coverage Reduction New Missed Lines %
crates/cext/build.rs 1 96.77%
crates/circuit/src/classical/expr/binary.rs 1 98.68%
crates/circuit/src/classical/expr/index.rs 1 98.15%
crates/circuit/src/classical/expr/value.rs 1 97.87%
crates/circuit/src/converters.rs 2 97.33%
crates/circuit/src/lib.rs 2 94.57%
qiskit/transpiler/passes/optimization/consolidate_blocks.py 2 96.92%
crates/circuit/src/classical/expr/stretch.rs 3 93.65%
crates/qasm2/src/lex.rs 3 92.03%
crates/quantum_info/src/pauli_lindblad_map/phased_qubit_sparse_pauli.rs 3 94.82%
Totals Coverage Status
Change from base Build 18229727033: -0.007%
Covered Lines: 93959
Relevant Lines: 106511

💛 - Coveralls

@ShellyGarion ShellyGarion added the fault tolerance related to fault tolerance compilation label Jul 9, 2025
@raynelfss raynelfss added the Changelog: None Do not include in the GitHub Release changelog. label Aug 13, 2025
@raynelfss raynelfss modified the milestones: 2.2.0, 2.3.0 Aug 19, 2025
@github-project-automation github-project-automation bot moved this to Ready in Qiskit 2.3 Oct 7, 2025
@jakelishman
Copy link
Copy Markdown
Member

Shelly: since this says it's needed for an issue which is already solved (the Litinski transform), is this PR something we're still doing?

@ShellyGarion
Copy link
Copy Markdown
Member Author

Shelly: since this says it's needed for an issue which is already solved (the Litinski transform), is this PR something we're still doing?

There are other use-cases of porting the Pauli and Clifford methods to rust, such as some of the add-ons.
Let's keep this PR open for now.

@jakelishman
Copy link
Copy Markdown
Member

Ok, then heads up: I'll ask about prioritisation and timelines for it within the Qiskit 2.3 milestone at the meeting.

@ShellyGarion ShellyGarion moved this from Ready to In development in Qiskit 2.3 Oct 9, 2025
@raynelfss raynelfss modified the milestones: 2.3.0, 2.4.0 Nov 20, 2025
@raynelfss raynelfss removed this from Qiskit 2.3 Nov 20, 2025
@alexanderivrii alexanderivrii modified the milestones: 2.4.0, 2.5.0 Feb 18, 2026
@ShellyGarion
Copy link
Copy Markdown
Member Author

I think that this PR is now superseded by #15974.
we should consider how to properly externalize the evolve method which is a Clifford class method there (get_inverse_pauli)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changelog: None Do not include in the GitHub Release changelog. fault tolerance related to fault tolerance compilation mod: quantum info Related to the Quantum Info module (States & Operators)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants