• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 14927979607
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: rust_qpy
DEFAULT BRANCH: main
Ran 09 May 2025 11:53AM UTC
Jobs 1
Files 789
Run time 6min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 May 2025 10:55AM UTC coverage: 88.079% (-0.03%) from 88.11%
14927979607

push

github

web-flow
Bug fixes in Solovay Kitaev Decomposition (#14217) (#14295)

* Fix _compute_rotation_axis method

The method used to return [0, 0, 0] for rotation axis when theta is very close to 0 (and yet not within 1e010).
This commit fixes this by noting that the rotation axis of an SO(3) matrix is simply the eigenvector of this
matrix corresponding to eigenvalue 1.

* Fixes related to SU(2) vs. SO(3)

The implemented algorithm has a global phase uncertainty of +-1, due to approximating not the
original SU(2) matrix but its projection onto SO(3). This fixes the global phase of the
computed approximation.

In addition, the product_su2 matrix in GateSequence was not correctly computed in many cases,
leading to incorrect values when using this attribute. Since this is not needed for the actual
algorithm (and spends unnecessary effort for computing it), this also completely removes this
attribute.



* Fix the tests.

One of the tests was simply wrong because the reference circuit has the wrong global phase.
The tests that check the gates in the final decomposition should not assume that SGate is included and SdgGate is not.

* reno

* fix to the global phase

* bug fix (forgetting that gate_matrix_su2 is not SU(2) was a sequence)

* adding test

* Restoring the previous fast code for _compute_rotation_axis based on Rodrigues formula, while additionally handling the case of 180-degree rotation

* removing old code

* review comments

* switching back to using _to_dag and _to_circuit

I actually no longer think that these methods would ever return a circuit with unitary gates, so it does not really matter

* Addressing review comments

* pass over release notes combining the original and the suggested wordings

* Update releasenotes/notes/fix-sk-decomposition-23da3ee4b6a10d62.yaml



---------



(cherry picked from commit 68926088b)

Co-authored-by: Alexander Ivrii <alexi@il.ibm.com>
Co-authored-by: Almudena Carrera Vazquez <almudenacar... (continued)

27 of 41 new or added lines in 4 files covered. (65.85%)

18 existing lines in 2 files now uncovered.

72887 of 82752 relevant lines covered (88.08%)

355960.57 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
85.29
0.0% qiskit/synthesis/discrete_basis/generate_basis_approximations.py
13
81.4
-14.44% qiskit/synthesis/discrete_basis/commutator_decompose.py

Uncovered Existing Lines

Lines Coverage ∆ File
6
91.98
-0.75% crates/qasm2/src/lex.rs
12
96.68
-0.93% crates/qasm2/src/parse.rs
Jobs
ID Job ID Ran Files Coverage
1 14927979607.1 09 May 2025 11:53AM UTC 789
88.08
GitHub Action Run
Source Files on build 14927979607
  • Tree
  • List 789
  • Changed 6
  • Source Changed 4
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #14927979607
  • e2d207eb on github
  • Prev Build on gh-readonly-queue/stable/2.0/pr-14327-85be1e35644f0904cfafd80337948097c816d83c (#14910507625)
  • Next Build on stable/2.0 (#14931000174)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc