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

Qiskit-Extensions / qiskit-experiments
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/main/pr-1267-60655bb7aa78fd8f27a3a0be3c19f1e89e483305
DEFAULT BRANCH: main
Repo Added 14 Jun 2023 07:41PM UTC
Files 168
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

LAST BUILD ON BRANCH gh-readonly-queue/main/pr-1263-c294aa1cc4816285d875be11968fa49e8b403df8
branch: gh-readonly-queue/main/pr-1263-c294aa1cc4816285d875be11968fa49e8b403df8
CHANGE BRANCH
x
Reset
  • gh-readonly-queue/main/pr-1263-c294aa1cc4816285d875be11968fa49e8b403df8
  • gh-readonly-queue/main/pr-1009-3511e4eae71042ef82bf59e0df7d315183836584
  • gh-readonly-queue/main/pr-1010-970b376fee8a92fea4fb4562e8de987782df83f9
  • gh-readonly-queue/main/pr-1133-1c7ed5b525c45efbe0a938e762196ad484221fe8
  • gh-readonly-queue/main/pr-1163-70c3115951347c1c48fd109e1a1da7ab4d6be813
  • gh-readonly-queue/main/pr-1164-1b388720dd443ced2832ee7d2fb508edf878986a
  • gh-readonly-queue/main/pr-1176-06f07181e8692ec4ddfb6ddd5055bf79435ef368
  • gh-readonly-queue/main/pr-1190-b73f669a6b01f42dad489fe5a8b0803483fc0c5b
  • gh-readonly-queue/main/pr-1206-f4c8686b1f8d67de757e72db22563f6acf5168fe
  • gh-readonly-queue/main/pr-1209-022ae003200f137fddafaaa9d8c6fc4aa5b708ed
  • gh-readonly-queue/main/pr-1215-ad8aa795a9624e03976acf86be8dcc7d307f907e
  • gh-readonly-queue/main/pr-1217-e0467f17a03af2cb1e9ffa09fd9bc12012be7fdd
  • gh-readonly-queue/main/pr-1219-d9a767bd97b98561abe5a4d927ba217a475b0a7a
  • gh-readonly-queue/main/pr-1224-805a55b23cef0204d31e84b912d37f22849ddeef
  • gh-readonly-queue/main/pr-1225-58754837ddaa9c5e5419cf6dc15ac7b56a2ec9a6
  • gh-readonly-queue/main/pr-1229-2e7bd6eb356d0f17a9896e823fe3b642f5b989ef
  • gh-readonly-queue/main/pr-1230-db5ee40dc9fc27f99486ec8ac3c14209997b428c
  • gh-readonly-queue/main/pr-1234-dd620001e39a62324c37f29bf830f563d5446417
  • gh-readonly-queue/main/pr-1237-29aeaa48b7206dcfea42ce05a5c2945339c954fb
  • gh-readonly-queue/main/pr-1250-5a518eea02ca606b917e4716e70db5e86ea0f91a
  • gh-readonly-queue/main/pr-1252-1acc02d49d7c8baaae3f495af049b58f24a8d0c3
  • gh-readonly-queue/main/pr-1254-c66034c90dad73d705af25be7e9ed9617e7eb2ef
  • gh-readonly-queue/main/pr-1255-84cd40311468c958b6dfe234493b19f9bcbcc715
  • gh-readonly-queue/main/pr-1259-e9abdc45d52411091c707006ec6cd0d26f6f3f23
  • gh-readonly-queue/main/pr-1260-f5c759bd70b875d15183b9d2b8a7374ea0f5cad3
  • gh-readonly-queue/main/pr-1264-6a06e7489dba5a84ae263d134622962d906beaf7
  • gh-readonly-queue/main/pr-1267-60655bb7aa78fd8f27a3a0be3c19f1e89e483305

06 Sep 2023 03:39PM UTC coverage: 88.271%. Remained the same
6099303896

push

github

web-flow
Improve performance of RB circuit generation (#1263)

### Summary

The circuit generation for RB experiments is slow due to the use of
indexing on sparse matrices (`_CLIFFORD_COMPOSE_2Q` from
`qiskit_experiments.library.randomized_benchmarking.clifford_utils`).
Since indexing is the only operation used on `_CLIFFORD_COMPOSE_2Q` we
can improve performance by using the `lil_matrix` format.

### Details and comments

Improve performance of RB circuit generation by changing the format of
`_CLIFFORD_COMPOSE_2Q` to `lil_matrix`.

Micro benchmark:
```
import scipy.sparse
from qiskit_experiments.library.randomized_benchmarking.clifford_utils import _CLIFFORD_COMPOSE_2Q

_CLIFFORD_COMPOSE_2Q_lil =  scipy.sparse.lil_matrix(_CLIFFORD_COMPOSE_2Q)

%timeit _CLIFFORD_COMPOSE_2Q[2,3]
%timeit _CLIFFORD_COMPOSE_2Q_lil[2,3]
```
Result:
```
29.4 µs ± 4.01 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
2.64 µs ± 777 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
```

Application benchmark:
```
import time
import qiskit
from qiskit_experiments.library import InterleavedRB

gate=qiskit.circuit.library.CXGate()
rb=InterleavedRB(gate, physical_qubits= (0,1),lengths= [1,10,50,100,200], num_samples= 10)

t0=time.time()
c=rb.circuits()
dt=time.time()-t0
```
results in a speedup from 2.1419544219970703 to 1.154689073562622
seconds.



### PR checklist (delete when all criteria are met)

- [x] I have read the contributing guide `CONTRIBUTING.md`.
- [x] I have added the tests to cover my changes.
- [x] I have updated the documentation accordingly.
- [x] I have added a release note file using `reno` if this change needs
to be documented in the release notes. (no release note required)

---------

Co-authored-by: Helena Zhang <Helena.Zhang@ibm.com>

1 of 1 new or added line in 1 file covered. (100.0%)

12387 of 14033 relevant lines covered (88.27%)

3.53 hits per line

Relevant lines Covered
Build:
Build:
14033 RELEVANT LINES 12387 COVERED LINES
3.53 HITS PER LINE
Source Files on gh-readonly-queue/main/pr-1263-c294aa1cc4816285d875be11968fa49e8b403df8
  • Tree
  • List 168
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
6099303896 gh-readonly-queue/main/pr-1263-c294aa1cc4816285d875be11968fa49e8b403df8 Improve performance of RB circuit generation (#1263) ### Summary The circuit generation for RB experiments is slow due to the use of indexing on sparse matrices (`_CLIFFORD_COMPOSE_2Q` from `qiskit_experiments.library.randomized_benchmarking.cli... push 06 Sep 2023 05:06PM UTC web-flow github
88.27
See All Builds (105)
  • Repo on GitHub
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

© 2025 Coveralls, Inc