Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
186 commits
Select commit Hold shift + click to select a range
26abfcd
create permutation file
inctechs Nov 25, 2024
2b74027
add function to create steane state prep circuit
inctechs Nov 26, 2024
010df06
add function preparing Steane code CSS object
inctechs Nov 27, 2024
714e8f7
Correct wrong stabilizer generators
inctechs Nov 28, 2024
af56986
add option to check for logical 0
inctechs Jan 28, 2025
a8b5e47
add set up for Simulation circuit
inctechs Jan 28, 2025
112c777
disable print statement removement
inctechs Jan 28, 2025
15ef182
Merge remote-tracking branch 'origin/main' into ft-stateprep-qubit-perm
inctechs Jan 28, 2025
4d49bef
Merge remote-tracking branch 'origin/main' into ft-stateprep-qubit-perm
inctechs Feb 7, 2025
e832caf
Merge remote-tracking branch 'origin/main' into ft-stateprep-qubit-perm
inctechs Feb 10, 2025
28de0e3
add utility function to get automorphism subgroup from generators
inctechs Feb 10, 2025
0bed263
add function to evaluate fault set overlap based on permutations
inctechs Feb 20, 2025
3e249b8
mandatory format changes (return -> Return)
inctechs Feb 20, 2025
2cb6521
Merge remote-tracking branch 'origin/main' into ft-stateprep-qubit-perm
inctechs Feb 20, 2025
27569f1
Merge remote-tracking branch 'origin/main' into ft-stateprep-qubit-perm
inctechs Mar 3, 2025
1d64f19
🎨 pre-commit fixes
pre-commit-ci[bot] Mar 3, 2025
acbabdb
guide heuristic gauss based on penalty columns/ CNOTs
inctechs Mar 3, 2025
1359027
move overlap search out and turn it into a standalone function
inctechs Mar 3, 2025
3d7529a
update heuristic SPC function to allow guiding information
inctechs Mar 3, 2025
9bac3af
🎨 pre-commit fixes
pre-commit-ci[bot] Mar 3, 2025
a15c6e1
add method to permute qubits of StatePreparationCircuit
inctechs Mar 5, 2025
3beda63
Ignore missing library stubs sympy.
pehamTom Mar 5, 2025
2481cbb
add method that checks overlap of fault sets to SPC class
inctechs Mar 5, 2025
79c60e3
add function to check mutual disjunctness
inctechs Mar 7, 2025
924b1d2
add automorphism as optional property to CSSCode class
inctechs Mar 7, 2025
277d946
Merge branch 'main' into ft-stateprep-qubit-perm
pehamTom Mar 14, 2025
92143b3
Simulation steane ftsp (#383)
pehamTom Mar 14, 2025
1e97ab1
Allow steane-type FTSP with only two circuits.
pehamTom Mar 14, 2025
c18c07e
Synthesis of state prep circuits in standard form.
pehamTom Mar 14, 2025
ef66114
Checks in simulation dependent on state.
pehamTom Mar 15, 2025
a09f00f
Merge branch 'ft-stateprep-qubit-perm' into standard-form-commutations
pehamTom Mar 15, 2025
52d2095
remove debug prints
inctechs Mar 17, 2025
288132c
Merge branch 'ft-stateprep-qubit-perm' of https://github.com/cda-tum/…
inctechs Mar 17, 2025
1d6e0dd
set up eval directory structure
inctechs Mar 18, 2025
705876b
add z_observable flag for z errors
inctechs Mar 18, 2025
fff679e
🎨 pre-commit fixes
pre-commit-ci[bot] Mar 18, 2025
a04dd7c
missing comma
inctechs Mar 18, 2025
ae7a1dd
Merge remote-tracking branch 'refs/remotes/origin/ft-stateprep-qubit-…
inctechs Mar 18, 2025
31cc107
Revert "add z_observable flag for z errors"
inctechs Mar 18, 2025
e08521d
Canonical form circuits for Steane-type FTSP.
pehamTom Mar 18, 2025
d9f72f4
add binomial error calulation for SteaneNDFTStatePrepSimulator
inctechs Mar 19, 2025
03bba84
prepare simulation
inctechs Mar 19, 2025
48e484d
update cc_4_8_8 circuits
inctechs Mar 19, 2025
1094955
change cc_6_6_6 from qasm3 to qasm2
inctechs Mar 19, 2025
a5e4877
Bugged implementation.
pehamTom Mar 19, 2025
e05ba10
add new headers for binomial errors in csv
inctechs Mar 19, 2025
a8ae963
remove falsly tracked files
inctechs Mar 19, 2025
0450ed5
Second attempt.
pehamTom Mar 19, 2025
f97238b
Fix bug in Steane Type measurement regarding measurement order.
pehamTom Mar 19, 2025
c27efc5
Merge remote-tracking branch 'origin/ft-stateprep-qubit-perm' into ft…
pehamTom Mar 19, 2025
7d61efc
Random CNOT Permutation.
pehamTom Mar 20, 2025
5de6e3c
add circuits for cc_488 of distance 7
inctechs Mar 21, 2025
c57903a
update sim file to include distance 7 cc488
inctechs Mar 21, 2025
65679e9
Merge branch 'ft-stateprep-qubit-perm' of https://github.com/cda-tum/…
inctechs Mar 21, 2025
9c6587f
correct crucial typo
inctechs Mar 24, 2025
e0aa0be
Speed up LUT creation.
pehamTom Mar 24, 2025
eda6704
Merge remote-tracking branch 'origin/ft-stateprep-qubit-perm' into ft…
pehamTom Mar 24, 2025
52f6b09
Remove old function.
pehamTom Mar 24, 2025
b4e07ec
Remove another old function.
pehamTom Mar 24, 2025
5e7f906
Merge branch 'ft-stateprep-qubit-perm' into standard-form-commutations
pehamTom Mar 24, 2025
b6ec765
Fix index error in permutation generation.
pehamTom Mar 25, 2025
fef08e7
Steane-type check for Z errors.
pehamTom Mar 25, 2025
6540dc2
Remove pheno noise.
pehamTom Mar 25, 2025
663c7a4
Merge branch 'ft-stateprep-qubit-perm' into standard-form-commutations
pehamTom Mar 25, 2025
5c70209
Noise on ancilla.
pehamTom Mar 26, 2025
78e8594
Eval scripts for canonical Steane State Prep.
pehamTom Mar 26, 2025
1ac2a39
edit heuristic_gauss
inctechs Mar 26, 2025
d8cb475
add function to find next error
inctechs Mar 26, 2025
e34ae29
change check mutual disjunctness function
inctechs Mar 26, 2025
0d86484
change distance based fault set calculation
inctechs Mar 26, 2025
9471f0d
change build funciton for cnot circuit
inctechs Mar 26, 2025
017a640
Merge remote-tracking branch 'origin/ft-stateprep-qubit-perm' into ft…
inctechs Mar 26, 2025
90357d6
reference based heuristic changed to reference fault sets and speed ups
inctechs Mar 28, 2025
06ed523
define default for faulst set overlap check
inctechs Mar 28, 2025
77b4155
Fix canonical permutation.
pehamTom Mar 31, 2025
4a4688d
Merge remote-tracking branch 'origin/ft-stateprep-qubit-perm' into ft…
pehamTom Mar 31, 2025
33970ba
Removed old variable.
pehamTom Apr 1, 2025
945449a
Improve memory usage.
pehamTom Apr 2, 2025
4f1dba3
Remove unnecessary stabilizer measurements in simulation.
pehamTom Apr 3, 2025
599d0af
Indent
pehamTom Apr 7, 2025
925ea2e
Merge branch 'standard-form-commutations' into ft-stateprep-qubit-perm
pehamTom Apr 7, 2025
f18def0
🎨 pre-commit fixes
pre-commit-ci[bot] Apr 7, 2025
ff4ac1d
update octagon distance 7 simulation circuits
inctechs Apr 7, 2025
f67bdb4
add scripts for distance 7 and private mac simulation
inctechs Apr 7, 2025
3a4f838
new circuit folder structure and add hexagonal d7 circuits
inctechs Apr 8, 2025
210ed96
correct simulation script and expand it to include hexagonal d7 circuits
inctechs Apr 8, 2025
d2901f4
change C3 and C4 of hexd7 code to be reproduceable
inctechs Apr 8, 2025
18b6805
heuristic indep of SPC (only code) add 2 error check
inctechs Apr 8, 2025
c817945
clean up StatePreparationCircuit Class add variables to heuristic
inctechs Apr 8, 2025
461ea1b
add variable descriptions
inctechs Apr 8, 2025
e3bb849
add fs overlap check to circuit and add Z logical to equivalence check
inctechs Apr 8, 2025
a8be98c
improve CNOT count of C4 for the distance 7 octagon code
inctechs Apr 8, 2025
168fb96
remove unwanted csv files and change propabilities
inctechs Apr 11, 2025
7d18b2f
add functionality to start z error sim
inctechs Apr 11, 2025
a1ceeb7
remove print statements when constructing heuristic circuit
inctechs Apr 11, 2025
6e95f6c
Fix bug in simulator circuit construction.
pehamTom Apr 14, 2025
588316a
Merge remote-tracking branch 'origin/main' into ft-stateprep-qubit-perm
pehamTom May 13, 2025
6d28a6b
reinstate gaussian elimination, copy advanced logic
inctechs May 27, 2025
f07d5f4
clean up unused files and functions
inctechs May 27, 2025
95b3ffa
set up GaussianElimination Class
inctechs May 28, 2025
cd8ab5e
Merge remote-tracking branch 'origin' into ft-stateprep-qubit-perm
inctechs Jun 23, 2025
9c12af1
refactor heuristic elimination
inctechs Jun 23, 2025
8d04cdf
add test file for gaussian elimination and first test
inctechs Jun 24, 2025
5841154
🎨 pre-commit fixes
pre-commit-ci[bot] Jun 24, 2025
cf67d3d
remove Sympy from synthesis utils
inctechs Jun 24, 2025
73c97bd
Merge remote-tracking branch 'origin' into ft-stateprep-qubit-perm
inctechs Jun 24, 2025
0d97505
Merge branch 'ft-stateprep-qubit-perm' of https://github.com/cda-tum/…
inctechs Jun 24, 2025
ca943c4
solving mypy issues with sympy
inctechs Jun 25, 2025
ecfaa36
solve issue with qsample and pytest
inctechs Jun 25, 2025
de0580a
add integration test for basic elimination
inctechs Jun 26, 2025
89022a9
fix typo
inctechs Jun 26, 2025
3ea4ccb
add more tests
inctechs Jun 26, 2025
93d78a7
add docstrings and typehints
inctechs Jun 26, 2025
fbab28e
fix first mypy issues
inctechs Jun 26, 2025
ab0172f
add to API functions for both reference based and regular SP
inctechs Jun 27, 2025
f2c06e1
🎨 pre-commit fixes
pre-commit-ci[bot] Jun 27, 2025
0b84a10
Merge remote-tracking branch 'origin' into ft-stateprep-qubit-perm
inctechs Jun 27, 2025
cc68d86
Merge branch 'ft-stateprep-qubit-perm' of https://github.com/cda-tum/…
inctechs Jun 27, 2025
8e2a37e
solve more mypy issues
inctechs Jun 27, 2025
3262db8
fix final mypy issues in synthesis utils
inctechs Jun 27, 2025
c01e2a1
remove old legacy function after refactoring
inctechs Jun 30, 2025
5427d4c
change name of penalty columns to penalty cnots
inctechs Jun 30, 2025
31d37c7
change name from penalty cols to penalty cnots on state_prep.py
inctechs Jun 30, 2025
0c9a4b6
remove mypy issues in synthesis_utils.py
inctechs Jun 30, 2025
bd463a9
remove legacy entry points to legacy function
inctechs Jun 30, 2025
8c0e481
remove legacy function form encoding.py and swap it with class structure
inctechs Jun 30, 2025
321d687
add pytest.ini to git ignore to keep locally neotest working
inctechs Jun 30, 2025
d7a5206
add required positional argument 'code' to GaussianElimination
inctechs Jun 30, 2025
5d84f7a
Some minor refactoring.
pehamTom Jul 4, 2025
e05bf34
Removed unused method.
pehamTom Jul 24, 2025
6f63f96
Merge branch 'main' into ft-stateprep-qubit-perm
pehamTom Jul 28, 2025
70f5316
Add ideal qubits to noise model.
pehamTom Jul 28, 2025
fec9f2b
Added method to get unmeasured qubits of stim circuit.
pehamTom Jul 28, 2025
0764a88
Start refactoring noisy simulation.
pehamTom Jul 28, 2025
7734528
remove linter flag T201 for avoiding print removal
inctechs Jul 28, 2025
597e51e
remove automorphism functionality from CSSCode class
inctechs Jul 28, 2025
c2efbd9
remove sympy dependency from pyproject.toml
inctechs Jul 28, 2025
31a9c8d
delete stateprep docs (previously removed on the master)
inctechs Jul 28, 2025
971c6ff
Refactor Simulation functionality.
pehamTom Jul 29, 2025
c15ddc7
Merge branch 'ft-stateprep-qubit-perm' of https://github.com/cda-tum/…
inctechs Jul 29, 2025
3478a68
remove commented out code
inctechs Jul 29, 2025
8cf2622
rename EliminationCNOTSynthesizer and API functions
inctechs Jul 29, 2025
693867f
improve docstring of EliminationCNOTSynthesizer class
inctechs Jul 30, 2025
d699a12
rename _handle_stagnation to _reset_if_stuck
inctechs Jul 30, 2025
2966b4c
update docstring of _is_reduced() method
inctechs Jul 30, 2025
95de5b1
fix logical error in validate_inputs() method
inctechs Jul 30, 2025
f219dd2
fix type cast
inctechs Jul 30, 2025
3ec3bf7
remove _modify_matrix_structure() method
inctechs Jul 30, 2025
9e5d02a
separate greedy initialisation from fault set guided init
inctechs Jul 30, 2025
41a6a23
Merge branch 'main' into ft-stateprep-qubit-perm
inctechs Aug 13, 2025
6a9ed32
Merge branch 'main' into ft-stateprep-qubit-perm
inctechs Aug 13, 2025
0f1ad6f
🎨 pre-commit fixes
pre-commit-ci[bot] Aug 13, 2025
0b4696a
clean up repository and add personal playground directory
inctechs Aug 14, 2025
1b6df83
correct false initialization of fault set arrays
inctechs Aug 20, 2025
902d76c
TEMPORARILY remove standard form features to pass CI
inctechs Aug 20, 2025
c95e30f
fix double initialisation due to wrong order
inctechs Aug 20, 2025
871655e
temp add unused code instance to pass test
inctechs Aug 20, 2025
690dde1
adapt fault set handling to new PureFaultSet class structure
inctechs Aug 20, 2025
82edb70
adapt method to new indexing of fault sets
inctechs Aug 20, 2025
e9b1a1a
Merge branch 'main' into ft-stateprep-qubit-perm
inctechs Aug 20, 2025
ea8382f
Delete ecc_qiskit_wrapper.py
inctechs Aug 20, 2025
f2714cf
fix mypy issues
inctechs Aug 20, 2025
0f92bb8
add .qasm postfix to all circuit files to pass license hook
inctechs Aug 20, 2025
0fa238d
allow pickle despite security warnings
inctechs Aug 20, 2025
6ec2d45
temporarily allow testing of private methods
inctechs Aug 20, 2025
35679d9
Merge branch 'ft-stateprep-qubit-perm' of https://github.com/cda-tum/…
inctechs Aug 20, 2025
5d1ca34
fix error using variable prior to initialization
inctechs Aug 21, 2025
873d805
remove commented out code
inctechs Aug 21, 2025
59743f6
fix edge case of wrong error type parsed
inctechs Aug 21, 2025
6fefe7a
fix bug that propagation matrix does not get updated
inctechs Sep 12, 2025
81ff592
add plus state simulation capability
inctechs Sep 12, 2025
6520ef2
Merge remote-tracking branch 'origin/main' into ft-stateprep-qubit-perm
inctechs Sep 16, 2025
d677437
prepare simulations
inctechs Sep 17, 2025
c1fafa2
change probabilities
inctechs Sep 17, 2025
74a524f
add simulation results for 20,2,6 and rot surface code d5
inctechs Oct 8, 2025
983903b
Merge remote-tracking branch 'origin' into ft-stateprep-qubit-perm
inctechs Oct 8, 2025
cfe031a
change simulation propability
inctechs Oct 8, 2025
df89fbf
Merge branch 'main' of https://github.com/munich-quantum-toolkit/qecc…
inctechs Oct 27, 2025
c1d78ae
add (repaired) stim circuit and check matrices of QECCs
inctechs Oct 28, 2025
8d6746c
prepare simulation files for flag at origin sims
inctechs Oct 28, 2025
bf08cc3
update mac bash script for 0.001 sims
inctechs Oct 28, 2025
ea8ac5e
add 0.001 results for square octagon distance 7 code
inctechs Oct 28, 2025
139cb75
Merge remote-tracking branch 'origin/main' into ft-stateprep-qubit-perm
inctechs Nov 23, 2025
d001d50
rename circuit and check matrix files for consitency
inctechs Nov 23, 2025
3013bff
update fao simulation scripts to do remap of qubits
inctechs Nov 23, 2025
5020d48
fix CSV files (comma was missing)
inctechs Jan 15, 2026
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
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,11 @@ out/build

node_modules/
wheelhouse/

pytest.ini

# -----------------------------------------------------------------------------
# Personal / local development ignore rules
# (Feel free to add your own scratch or playground folders here)
# -----------------------------------------------------------------------------
playground/
82 changes: 82 additions & 0 deletions scripts/ft_stateprep/canonical_steane/estimate_canonical.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Copyright (c) 2023 - 2025 Chair for Design Automation, TUM
# All rights reserved.
#
# SPDX-License-Identifier: MIT
#
# Licensed under the MIT License

"""Estimate logical error rate for CSS state preparation circuits for a given code and physical error rate."""

from __future__ import annotations

import argparse

from mqt.qecc import CSSCode
from mqt.qecc.circuit_synthesis import SteaneNDFTStatePrepSimulator, heuristic_prep_circuit
from mqt.qecc.circuit_synthesis.state_prep import canonical_steane_type_prep_circuits, random_steane_type_prep_circuits
from mqt.qecc.codes import HexagonalColorCode, SquareOctagonColorCode

codes = {"golay": CSSCode.from_code_name("golay"), "hex": HexagonalColorCode(7), "sqoct": SquareOctagonColorCode(7)}


def main() -> None:
"""Run the logical error rate estimation for a given code and physical error rate."""
parser = argparse.ArgumentParser(description="Estimate logical error rate for CSS state preparation circuits")
parser.add_argument(
"code",
type=str,
help="Code for which to estimate logical error rate. Available codes: " + ", ".join(codes),
)
parser.add_argument("-p", "--p_error", type=float, help="Physical error rate")
parser.add_argument("-n", "--n_errors", type=int, default=500, help="Number of errors to sample")
parser.add_argument(
"--perm",
type=str,
default="canonical",
help="Permutation for state preparation. Can be 'canonical' or 'random'",
)
parser.add_argument(
"-e", "--error_type", type=str, default="X", help="Type of error to use for simulation. Can be 'X' or 'Z'."
)

args = parser.parse_args()
code_name = args.code
if code_name in codes:
code = codes[code_name]
else:
raise ValueError("Code " + code_name + " not available. Available codes: " + ", ".join(codes))

if args.perm == "canonical":
qc1, qc2, qc3, qc4 = canonical_steane_type_prep_circuits(code)
perm = "canonical"
elif args.perm == "random":
qc1, qc2, qc3, qc4, perm = random_steane_type_prep_circuits(code)
else:
raise ValueError("Permutation " + args.perm + " not available. Available permutations: 'canonical, random'")

sim = SteaneNDFTStatePrepSimulator(
qc1, qc2, code, qc3, qc4, check_circuit=heuristic_prep_circuit(code, zero_state=False).circ
)
sim.set_p(args.p_error, args.p_error * 0.01)

if args.error_type == "X":
p_l, r_a, num_logical_errors, total_shots, p_l_error, r_a_error = sim.logical_error_rate(
min_errors=args.n_errors
)
elif args.error_type == "Z":
p_l, r_a, num_logical_errors, total_shots, p_l_error, r_a_error = sim.secondary_logical_error_rate(
min_errors=args.n_errors
)
else:
msg = "Error type should be either X or Z."
raise ValueError(msg)

print(
";".join([
str(x) for x in [args.p_error, p_l, r_a, num_logical_errors, total_shots, p_l_error, r_a_error, perm]
])
)


if __name__ == "__main__":
main()
21 changes: 21 additions & 0 deletions scripts/ft_stateprep/canonical_steane/run_parallel.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash
# Copyright (c) 2023 - 2025 Chair for Design Automation, TUM
# All rights reserved.
#
# SPDX-License-Identifier: MIT
#
# Licensed under the MIT License

declare -a p=("0.001" "0.0015" "0.002" "0.0025" "0.003" "0.0035" "0.004" "0.0045" "0.005" "0.0055" "0.006" "0.0065" "0.007" "0.0075" "0.008" "0.0085" "0.009" "0.0095" "0.01")

echo "p;p_l;r_a;num_logical_errors;total_shots;p_l_error;r_a_error" > "$1.csv"

run_and_write() {
local res=$(python estimate_canonical.py ${@:2:$#-2} "-p" "${@: -1}")
local line="${@: -1};${res}"
(flock -e 200 echo $line >> "$1.csv") 200>lock
}

export -f run_and_write

parallel --load 16 --link run_and_write $@ ::: ${p[@]}
4 changes: 2 additions & 2 deletions scripts/ft_stateprep/eval/estimate_logical_error_rate.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

from mqt.qecc import CSSCode
from mqt.qecc.circuit_synthesis import (
NoisyNDFTStatePrepSimulator,
VerificationNDFTStatePrepSimulator,
gate_optimal_prep_circuit,
gate_optimal_verification_circuit,
heuristic_prep_circuit,
Expand Down Expand Up @@ -98,7 +98,7 @@ def main() -> None:
# load circuit from file
qc = QuantumCircuit.from_qasm_file(prefix / code_name / circ_file)

sim = NoisyNDFTStatePrepSimulator(
sim = VerificationNDFTStatePrepSimulator(
qc,
code=code,
p=args.p_error,
Expand Down
6 changes: 4 additions & 2 deletions scripts/ft_stateprep/eval/run_d7.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from qiskit import QuantumCircuit

from mqt.qecc.circuit_synthesis import (
NoisyNDFTStatePrepSimulator,
VerificationNDFTStatePrepSimulator,
)
from mqt.qecc.codes import SquareOctagonColorCode

Expand All @@ -38,7 +38,9 @@ def main() -> None:
lut_path = (Path(__file__) / "../luts/decoder_488_7.pickle").resolve()
with lut_path.open("rb") as f:
lut = pickle.load(f) # noqa: S301
sim = NoisyNDFTStatePrepSimulator(qc, code, decoder=lut, p=args.p_error, p_idle=args.p_idle_factor * args.p_error)
sim = VerificationNDFTStatePrepSimulator(
qc, code, decoder=lut, p=args.p_error, p_idle=args.p_idle_factor * args.p_error
)
res = sim.logical_error_rate(min_errors=args.n_errors)
print(",".join([str(x) for x in [args.p_error, *res]]))

Expand Down
18 changes: 18 additions & 0 deletions scripts/ft_stateprep/eval_circ_mod/check_matrix/eve_20_2_6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
XIIIIIIIIXIXXIXXXXII
IXIIIIIIIXIIXXIIXXXX
IIXIIIIIIIXXIXXIXXXI
IIIXIIIIIIXIXXXXIXIX
IIIIXIIIIXXIXIIIXXXX
IIIIIXIIIXIXIIXXXXIX
IIIIIIXIIIXXIXIXXXXI
IIIIIIIXIXIXIIIIIIXI
IIIIIIIIXIXIXXXXXIIX
ZIIIIIIIIZIZZIZZZZII
IZIIIIIIIZIIZZIIZZZZ
IIZIIIIIIIZZIZZIZZZI
IIIZIIIIIIZIZZZZIZIZ
IIIIZIIIIZZIZIIIZZZZ
IIIIIZIIIZIZIIZZZZIZ
IIIIIIZIIIZZIZIZZZZI
IIIIIIIZIZIZIIIIIIZI
IIIIIIIIZIZIZZZZZIIZ
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ZZZZIIIIIIIIIIIII
IZIZIIZZIIIIIIIII
IIIIZIIIZIIIZZIII
IIIIZZIIZZIIIIIII
IIZZIZZIIZZIIIZZI
IIIIIIZZIIZZIIIII
IIIIIIIIZZIIIZZII
IIIIIIIIIIZZIIIZZ
XXXXIIIIIIIIIIIII
IXIXIIXXIIIIIIIII
IIIIXIIIXIIIXXIII
IIIIXXIIXXIIIIIII
IIXXIXXIIXXIIIXXI
IIIIIIXXIIXXIIIII
IIIIIIIIXXIIIXXII
IIIIIIIIIIXXIIIXX
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
ZZZZIIIIIIIIIIIIIIII
IIIIZZZZIIIIIIIIIIII
IIIIIIIIZZZZIIIIIIII
IIIIIIIIIIIIZZZZIIII
IIIIIIIIIIIIIIIIZZZZ
ZIIZIIZZIIZZZIIZIIII
IIIIZIIZIIZZIIZZZIIZ
ZIIZIIIIZIIZIIZZIIZZ
IIZZZIIZIIIIZIIZIIZZ
XXXXIIIIIIIIIIIIIIII
IIIIXXXXIIIIIIIIIIII
IIIIIIIIXXXXIIIIIIII
IIIIIIIIIIIIXXXXIIII
IIIIIIIIIIIIIIIIXXXX
XIIXIIXXIIXXXIIXIIII
IIIIXIIXIIXXIIXXXIIX
XIIXIIIIXIIXIIXXIIXX
IIXXXIIXIIIIXIIXIIXX
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
IIIIZIIIIZIIIIIIIIIIIIIII
IIIIIIIIIIIIIIZIIIIZIIIII
IIIIIIIIZZIIIZZIIIIIIIIII
IIIIIIIIIIIIIIIIIIZZIIIZZ
IIZZIIIZZIIIIIIIIIIIIIIII
IIIIIIIIIIIIZZIIIZZIIIIII
IIIIIIZZIIIZZIIIIIIIIIIII
IIIIIIIIIIIIIIIIZZIIIZZII
ZZIIIZZIIIIIIIIIIIIIIIIII
IIIIIIIIIIZZIIIZZIIIIIIII
IIIIIZIIIIZIIIIIIIIIIIIII
IIIIIIIIIIIIIIIZIIIIZIIII
XXIIIIIIIIIIIIIIIIIIIIIII
IIXXIIIIIIIIIIIIIIIIIIIII
IXXIIIXXIIIIIIIIIIIIIIIII
IIIXXIIIXXIIIIIIIIIIIIIII
IIIIIXXIIIXXIIIIIIIIIIIII
IIIIIIIXXIIIXXIIIIIIIIIII
IIIIIIIIIIIXXIIIXXIIIIIII
IIIIIIIIIIIIIXXIIIXXIIIII
IIIIIIIIIIIIIIIXXIIIXXIII
IIIIIIIIIIIIIIIIIXXIIIXXI
IIIIIIIIIIIIIIIIIIIIIXXII
IIIIIIIIIIIIIIIIIIIIIIIXX
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
ZIZIZZIIIIIIIIIIIIIIIIIIIIIIIII
ZZZZIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIZZIIZZIIIIIIIIIIIIIIIIIIIII
IIZZIZZIIZZIIIZZIIIIIIIIIIIIIII
IIIIIIZZIIZZIIIIIIIIIIIIIIIIIII
IIIIIIIZIIIZIIIIZZIIIIIIIIIIIII
IIIIIIIIIIIIZIIIIIZIIIIIZZIIIII
IIIIIIIIIIIIZZIIIIZZIIIIIIIIIII
IIIIIIIIZZIIIZZIIIIZZIIIIIZZIII
IIIIIIIIIIIIIIZZIIIIZZIIIIIIIII
IIIIIIIIIIZZIIIZZIIIIZZIIIIIZZI
IIIIIIIIIIIIIIIIZZIIIIZZIIIIIII
IIIIIIIIIIIIIIIIIIZZIIIIIZZIIII
IIIIIIIIIIIIIIIIIIIIZZIIIIIZZII
IIIIIIIIIIIIIIIIIIIIIIZZIIIIIZZ
XIXIXXIIIIIIIIIIIIIIIIIIIIIIIII
XXXXIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIXXIIXXIIIIIIIIIIIIIIIIIIIII
IIXXIXXIIXXIIIXXIIIIIIIIIIIIIII
IIIIIIXXIIXXIIIIIIIIIIIIIIIIIII
IIIIIIIXIIIXIIIIXXIIIIIIIIIIIII
IIIIIIIIIIIIXIIIIIXIIIIIXXIIIII
IIIIIIIIIIIIXXIIIIXXIIIIIIIIIII
IIIIIIIIXXIIIXXIIIIXXIIIIIXXIII
IIIIIIIIIIIIIIXXIIIIXXIIIIIIIII
IIIIIIIIIIXXIIIXXIIIIXXIIIIIXXI
IIIIIIIIIIIIIIIIXXIIIIXXIIIIIII
IIIIIIIIIIIIIIIIIIXXIIIIIXXIIII
IIIIIIIIIIIIIIIIIIIIXXIIIIIXXII
IIIIIIIIIIIIIIIIIIIIIIXXIIIIIXX
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
OPENQASM 2.0;
include "qelib1.inc";
qreg q[17];
h q[0];
h q[1];
h q[2];
h q[3];
h q[4];
h q[5];
h q[9];
h q[10];
cx q[4],q[8];
cx q[10],q[15];
cx q[4],q[6];
cx q[9],q[15];
cx q[5],q[12];
cx q[4],q[7];
cx q[3],q[14];
cx q[2],q[6];
cx q[14],q[16];
cx q[10],q[13];
cx q[9],q[11];
cx q[8],q[5];
cx q[3],q[7];
cx q[1],q[4];
cx q[0],q[2];
cx q[12],q[9];
cx q[1],q[13];
cx q[0],q[3];
cx q[15],q[8];
cx q[6],q[16];
cx q[5],q[11];
cx q[4],q[10];
cx q[2],q[14];
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
OPENQASM 2.0;
include "qelib1.inc";
qreg q[17];
h q[0];
h q[1];
h q[2];
h q[3];
cx q[1],q[4];
cx q[3],q[7];
h q[8];
cx q[8],q[5];
cx q[8],q[7];
cx q[5],q[11];
cx q[11],q[4];
h q[12];
h q[13];
cx q[13],q[10];
cx q[4],q[10];
cx q[3],q[14];
h q[15];
cx q[15],q[9];
cx q[12],q[9];
cx q[13],q[15];
cx q[1],q[13];
cx q[15],q[8];
cx q[9],q[11];
cx q[2],q[16];
cx q[2],q[6];
cx q[0],q[2];
cx q[0],q[3];
cx q[2],q[14];
cx q[5],q[6];
cx q[12],q[5];
cx q[7],q[16];
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
OPENQASM 2.0;
include "qelib1.inc";
qreg q[17];
h q[0];
h q[1];
h q[2];
h q[3];
h q[4];
h q[5];
h q[9];
h q[10];
cx q[4],q[8];
cx q[10],q[15];
cx q[4],q[6];
cx q[9],q[15];
cx q[5],q[12];
cx q[4],q[7];
cx q[3],q[14];
cx q[2],q[6];
cx q[14],q[16];
cx q[10],q[13];
cx q[9],q[11];
cx q[8],q[5];
cx q[3],q[7];
cx q[1],q[4];
cx q[0],q[2];
cx q[12],q[9];
cx q[1],q[13];
cx q[0],q[3];
cx q[15],q[8];
cx q[6],q[16];
cx q[5],q[11];
cx q[4],q[10];
cx q[2],q[14];
Loading