Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
9d81eed
New algorithm for generating Clifford circuits for single qubit. We g…
merav-aharoni May 25, 2022
c836831
Changed basis for transpilation to match the one in single_qubit_test…
merav-aharoni May 29, 2022
86cad33
Modified the methods in create_clifford_map so that compose does not …
merav-aharoni May 31, 2022
9a873dc
Changed generation of generation of random numbers to be identical to…
merav-aharoni May 31, 2022
76ff366
Test to run on device
merav-aharoni Jun 1, 2022
ab7d4f3
Merge pull request #2 from merav-aharoni/rb_performance
merav-aharoni Jun 7, 2022
274432a
added methods for new algorithm to generate rb circuits: build_rb_cir…
merav-aharoni Jun 9, 2022
890d890
Added the method _layout_for_rb_single_qubit and added test_full_samp…
merav-aharoni Jun 12, 2022
8dc9aa1
In test_full_sampling_single_qubit fixed num_samples to be 1, because…
merav-aharoni Jun 12, 2022
f0c3cc8
Tidied up build_rb_circuits
merav-aharoni Jun 13, 2022
10a7e9f
Added documentation and moved methods
merav-aharoni Jun 13, 2022
aea856a
Added test_single_qubit_parallel
merav-aharoni Jun 13, 2022
eec3721
Merge branch 'main' into transpiled-rb
merav-aharoni Jun 14, 2022
dd0b62b
Changed name _format_data to format_data because the method wasn't be…
merav-aharoni Jun 14, 2022
b9c9f41
Fixed handling of num_samples>1. Cleaned out prints. Reverted previou…
merav-aharoni Jun 15, 2022
92f5580
Added assertExperimentDone to test_single-qubit_parallel. Fixed param…
merav-aharoni Jun 15, 2022
3e9c386
Modified assertAllIdentity to support circuits with rz gates
merav-aharoni Jun 15, 2022
4557572
Changed name _new_rb to _transpiled_rb. Also changed default to be Fa…
merav-aharoni Jun 15, 2022
0673e23
removed fast_rb.py
merav-aharoni Jun 15, 2022
c543fa4
removed rb_on_device.py
merav-aharoni Jun 15, 2022
3c2dca8
Removed temporary 'import time'
merav-aharoni Jun 15, 2022
b9e0884
Added support for interleaved rb single qubit
merav-aharoni Jun 21, 2022
f899247
Fixed handling of interleaved element
merav-aharoni Jun 21, 2022
2bc7469
Fixed bug caused by change of interface of _buil_rb_circuits after ad…
merav-aharoni Jun 22, 2022
bbaf218
added test_number_to_clifford_mapping and fixed the method num_from_1…
merav-aharoni Jun 23, 2022
402bf69
Added support for computation of the Clifford to number mapping of a …
merav-aharoni Jun 23, 2022
67f07ca
Moved setting of interleaved metadata to be under 'if is_interleaved'
merav-aharoni Jun 26, 2022
d72beb1
Added transpilation of interleaved element before creating the rb cir…
merav-aharoni Jun 26, 2022
7f9778f
Fixed incorrect parameter 'qubits' in test_non_clifford_interleaved_e…
merav-aharoni Jun 28, 2022
af42386
Added support for 'delay' as interleaved element
merav-aharoni Jun 28, 2022
95125ed
Moved setting of basis gates to circuits(), because in __init__ the t…
merav-aharoni Jun 28, 2022
d5949f4
Cleaned up setting of tranpile_options in the test. Added call to gen…
merav-aharoni Jun 29, 2022
a9e3146
Changed the clifford compose mapping so that the rhs includes only si…
merav-aharoni Jun 30, 2022
de1d6ff
Changed all methods in CliffordUtils to be classmethod
merav-aharoni Jun 30, 2022
b79b5bf
Fixes following changes in CliffordUtils
merav-aharoni Jun 30, 2022
96046a5
Changed structure of CLIFF_COMPOSE_DATA to be an array instead of a d…
merav-aharoni Jun 30, 2022
352539e
Improved _layout_for_rb_single_qubit to be more robust
merav-aharoni Jul 3, 2022
b10b1c6
Documentation, black, pylint
merav-aharoni Jul 3, 2022
0cef2b7
Merge branch 'main' into transpiled-rb
merav-aharoni Jul 3, 2022
eab49ec
black
merav-aharoni Jul 3, 2022
16fe2e1
Removed the parameter transpiled_rb used for choosing whether to use …
merav-aharoni Jul 5, 2022
e2fe641
Cleaning up
merav-aharoni Jul 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
269 changes: 269 additions & 0 deletions qiskit_experiments/library/randomized_benchmarking/clifford_data.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,269 @@
# This code is part of Qiskit.
#
# (C) Copyright IBM 2021.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.

"""
This file contains the Clifford group represented as integers.
In CLIFF_COMPOSE_DATA, (i, j): k represents Clifford(i).compose(clifford(j)) = Clifford(k).
Since retrieving a value from an array is more efficient than from a dict, therefore
we store only the results (k) in the array CLIFF_COMPOSE_DATA.
The index is computed in CliffordUtils.compose_num_with_clifford().
Note that for the pairs (i, j), i can be any clifford, and j represents only the
1-gate Cliffords, as listed in CliffordUtils.general_cliff_list
"""

CLIFF_COMPOSE_DATA = [
0,
1,
2,
4,
6,
8,
12,
18,
22,
1,
0,
3,
5,
7,
9,
13,
19,
23,
2,
23,
6,
15,
8,
0,
14,
20,
9,
3,
22,
7,
14,
9,
1,
15,
21,
8,
4,
9,
17,
18,
10,
23,
16,
22,
0,
5,
8,
16,
19,
11,
22,
17,
23,
1,
6,
19,
8,
16,
0,
2,
18,
12,
10,
7,
18,
9,
17,
1,
3,
19,
13,
11,
8,
5,
0,
3,
2,
6,
20,
14,
21,
9,
4,
1,
2,
3,
7,
21,
15,
20,
10,
15,
23,
6,
4,
17,
22,
16,
12,
11,
14,
22,
7,
5,
16,
23,
17,
13,
12,
13,
20,
10,
18,
14,
0,
6,
16,
13,
12,
21,
11,
19,
15,
1,
7,
17,
14,
11,
12,
21,
20,
18,
2,
8,
3,
15,
10,
13,
20,
21,
19,
3,
9,
2,
16,
21,
11,
12,
22,
5,
4,
10,
6,
17,
20,
10,
13,
23,
4,
5,
11,
7,
18,
7,
14,
22,
12,
20,
6,
0,
4,
19,
6,
15,
23,
13,
21,
7,
1,
5,
20,
17,
18,
9,
14,
12,
8,
2,
15,
21,
16,
19,
8,
15,
13,
9,
3,
14,
22,
3,
5,
0,
16,
11,
10,
4,
18,
23,
2,
4,
1,
17,
10,
11,
5,
19,
]

# In CLIFF_INVERSE_DATA, i: j represents Clifford(i).inverse = Clifford(j).
# Here too, we store only the inverse (j) in the array CLIFF_INVERSE_DATA.
CLIFF_INVERSE_DATA = [
0,
1,
8,
5,
22,
3,
6,
19,
2,
23,
10,
15,
12,
13,
14,
11,
16,
21,
18,
7,
20,
17,
4,
9,
]
Loading