Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
327fede
Initial commit
plquera Apr 30, 2025
4650f82
draft content
plquera Apr 30, 2025
8a914a1
fixed baseline QASM files
plquera Apr 30, 2025
b6b844a
readme updates
plquera May 1, 2025
9ec1660
fixed figure linking on tutorial
plquera May 2, 2025
c37d8da
fixed typo on readme
plquera May 5, 2025
54a237b
fix typo in README.md
Wang-Shengtao May 5, 2025
ce13c01
some updates on the challenge pitch
plquera May 6, 2025
7034b3b
Merge branch 'main' of https://github.com/QuEraComputing/ETH_Qhack
plquera May 6, 2025
9e5df58
readme updates
plquera May 6, 2025
bdb6a84
fixing readme
plquera May 6, 2025
c247d4f
updated tutorial to work w new bloqade versions
plquera May 6, 2025
021a82c
including circuit reading tutorial
plquera May 7, 2025
fc95303
polished notebooks
johnzl-777 May 8, 2025
eb1d79b
fixed venv, changed some wordings in import demo
plquera May 8, 2025
d97351e
slack link added
johnzl-777 May 10, 2025
d309719
NOT empty file
johnzl-777 May 10, 2025
38e1ca7
reorganize challenge content for ETH QHack 2026
plquera May 4, 2026
2860a15
fix notebook formatting
abidart May 9, 2026
6ec0702
update porject configuration
abidart May 9, 2026
0ceb7cb
star
AlessandroRuzza May 9, 2026
f31b868
Merge branch 'main' of github.com:AlessandroRuzza/ETH_Qhack_26_Quantu…
AlessandroRuzza May 9, 2026
92ef43f
move inside
AlessandroRuzza May 9, 2026
caa2da2
star
AlessandroRuzza May 9, 2026
c791cd1
added demos and syntesis 1, partial syntesis 2
FedericoQuartieri May 9, 2026
5290bf9
star
AlessandroRuzza May 9, 2026
bb594d7
Merge branch 'main' of github.com:AlessandroRuzza/ETH_Qhack_26_Quantu…
AlessandroRuzza May 9, 2026
48bb9c2
added Syntesis ipynb
FedericoQuartieri May 9, 2026
66b1691
S -> s
FedericoQuartieri May 9, 2026
883809c
added qiskit in toml
FedericoQuartieri May 9, 2026
3c2944d
added start functions for challenge 1.3
DanieleSalvi2810 May 9, 2026
8f003f0
Dgenerico
alessandraiula May 9, 2026
f846063
merge
alessandraiula May 9, 2026
a4b37d5
star pt2 and loops pt1
AlessandroRuzza May 9, 2026
cf5083f
overview change kernel
AlessandroRuzza May 9, 2026
c61d33b
first version of point 1.3
DanieleSalvi2810 May 9, 2026
d3478cf
interm
AlessandroRuzza May 9, 2026
6d8b46c
syndrome
AlessandroRuzza May 9, 2026
b8411d8
synthesis 2 done
FedericoQuartieri May 9, 2026
d6843d7
kernels
AlessandroRuzza May 9, 2026
659eba0
"initialize"
alessandraiula May 9, 2026
f561e62
kern
AlessandroRuzza May 9, 2026
ddfae56
added initial 1.4
DanieleSalvi2810 May 9, 2026
f198514
fixed graph
FedericoQuartieri May 9, 2026
8443e04
splitted synthesis files
FedericoQuartieri May 9, 2026
131b893
1.4 t gate injection
DanieleSalvi2810 May 9, 2026
1379391
star
AlessandroRuzza May 9, 2026
dbbc155
refactor
FedericoQuartieri May 9, 2026
b36e72b
refactor
FedericoQuartieri May 9, 2026
f898d86
added fielity check
DanieleSalvi2810 May 9, 2026
10a191d
Noise
alessandraiula May 10, 2026
53e8de9
small
AlessandroRuzza May 10, 2026
6240132
fix
AlessandroRuzza May 10, 2026
a7a5388
local
AlessandroRuzza May 10, 2026
355b223
tried to insert fidelity for 2 and 4
DanieleSalvi2810 May 10, 2026
5e0b6f9
using gates synthetized by part 2 and 3
FedericoQuartieri May 10, 2026
ebab303
merging
FedericoQuartieri May 10, 2026
fc5c2e5
translate eng comments
AlessandroRuzza May 10, 2026
c060a3e
continued 1.4
DanieleSalvi2810 May 10, 2026
c08b429
fixes
AlessandroRuzza May 10, 2026
8024262
fff
AlessandroRuzza May 10, 2026
94afd12
outputs
AlessandroRuzza May 10, 2026
cc09144
a
FedericoQuartieri May 10, 2026
f0a7b08
added website
DanieleSalvi2810 May 10, 2026
5286451
a
FedericoQuartieri May 10, 2026
6e56a7e
revert postselect + QFT
AlessandroRuzza May 10, 2026
123a199
star
AlessandroRuzza May 10, 2026
aa7f888
Merge branch 'STAR'
AlessandroRuzza May 10, 2026
3c5a747
FT
DanieleSalvi2810 May 10, 2026
b8b2946
report + presentation
AlessandroRuzza May 10, 2026
7455d4b
Merge branch 'QuEraComputing:main' into main
AlessandroRuzza May 10, 2026
ebe0c6f
ff
AlessandroRuzza May 10, 2026
db26c8f
Docker added
AlessandroRuzza May 11, 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
Binary file added .DS_Store
Binary file not shown.
Binary file added 2025/.DS_Store
Binary file not shown.
Binary file added 2025/ETH Hackathon 2025.pdf
Binary file not shown.
24 changes: 24 additions & 0 deletions 2025/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
General directions on the challenge statement can be found in the challenge .pdf file. Follow below for extra relevant information.

## Installing Bloqade and other packages

All work for this challenge will be based on Bloqade, QuEra's neutral atom emulator and SDK, and - if you feel insispired for something a bit more advanced - on Kirin, our compiler development infrastructure.

Installation instructions for Bloqade and all sub-packages necessary can be found here [here](https://bloqade.quera.com/latest/), and amount to little more than `pip install bloqade`.

### Pre-made environment on qBraid

If you don't want to worry about setting up your own environment or are having trouble with versions of other installed packages, you can access all you need to participate in this challenge at qBraid's lab notebook. Create an account on [qBraid](https://www.qbraid.com/) and click the button below to launch a pre-made notebook on an environment with everything set to go!


## Documentation

This year’s ETH Quantum Hackathon challenges require a _notebook_ implementation that is heavily considered during judging, as well as generating a small slide presentation to explain your experience and development to the judges. Your notebook with all circuit solutions should be executable. Bug reports will also count points, but only if you submit them via a Github issue at [Bloqade's Github repo](https://github.com/QuEraComputing/bloqade-circuit)!

### Submissions and pre-submissions

For solution submissions should follow guidelines from Dorahacks and the hackathon organizers!

### Evaluation criteria

Directions on the challenge pdf doc!
Binary file added 2025/assets/.DS_Store
Binary file not shown.
Binary file added 2025/assets/GHZ_linear.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 2025/assets/GHZ_parallel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,025 changes: 1,025 additions & 0 deletions 2025/assets/GHZ_tutorial_v3.ipynb

Large diffs are not rendered by default.

112 changes: 112 additions & 0 deletions 2025/assets/QAOA_generator.ipynb

Large diffs are not rendered by default.

Binary file added 2025/assets/baseline/.DS_Store
Binary file not shown.
12 changes: 12 additions & 0 deletions 2025/assets/baseline/0.1.qasm
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Generated from Cirq v1.4.1

OPENQASM 2.0;
include "qelib1.inc";


// Qubits: [q(0), q(1), q(2)]
qreg q[3];


cz q[0],q[1];
cx q[2],q[1];
11 changes: 11 additions & 0 deletions 2025/assets/baseline/0.2.qasm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Generated from Cirq v1.4.1

OPENQASM 2.0;
include "qelib1.inc";


// Qubits: [q(0), q(1), q(2)]
qreg q[3];


ccx q[0],q[1],q[2];
24 changes: 24 additions & 0 deletions 2025/assets/baseline/0.4.qasm
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// Generated from Cirq v1.4.1

OPENQASM 2.0;
include "qelib1.inc";


// Qubits: [q(0), q(1), q(2), q(3), q(4), q(5), q(6)]
qreg q[7];


h q[1];
h q[2];
h q[3];
cx q[6],q[5];
cx q[1],q[0];
cx q[2],q[4];
cx q[3],q[5];
cx q[2],q[0];
cx q[1],q[5];
cx q[6],q[4];
cx q[2],q[6];
cx q[3],q[4];
cx q[3],q[0];
cx q[1],q[6];
33 changes: 33 additions & 0 deletions 2025/assets/baseline/1.qasm
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Generated from Cirq v1.4.1

OPENQASM 2.0;
include "qelib1.inc";


// Qubits: [q(0), q(1), q(2)]
qreg q[3];


h q[2];

// Operation: CRz(0.5π)(q(1), q(2))
cx q[1],q[2];
u3(0,pi*1.25,pi*0.5) q[2];
cx q[1],q[2];
u3(0,pi*1.75,pi*0.5) q[2];

// Operation: CRz(0.25π)(q(0), q(2))
cx q[0],q[2];
u3(0,pi*1.375,pi*0.5) q[2];
cx q[0],q[2];
u3(0,pi*1.625,pi*0.5) q[2];

h q[1];

// Operation: CRz(0.5π)(q(0), q(1))
cx q[0],q[1];
u3(0,pi*1.25,pi*0.5) q[1];
cx q[0],q[1];
u3(0,pi*1.75,pi*0.5) q[1];

h q[0];
194 changes: 194 additions & 0 deletions 2025/assets/baseline/2.qasm
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
// Generated from Cirq v1.4.1

OPENQASM 2.0;
include "qelib1.inc";


// Qubits: [q(0), q(1), q(2), q(3)]
qreg q[4];


h q[0];
h q[1];
h q[2];
h q[3];

// Gate: CZ**0.15524282950959892
u3(pi*0.5,0,pi*0.25) q[0];
u3(pi*0.5,0,pi*0.75) q[1];
sx q[0];
cx q[0],q[1];
rx(pi*0.4223785852) q[0];
ry(pi*0.5) q[1];
cx q[1],q[0];
sxdg q[1];
s q[1];
cx q[0],q[1];
u3(pi*0.5,pi*0.8276214148,pi*1.0) q[0];
u3(pi*0.5,pi*0.3276214148,pi*1.0) q[1];

// Gate: CZ**0.15524282950959892
u3(pi*0.5,0,pi*0.25) q[0];
u3(pi*0.5,0,pi*0.75) q[3];
sx q[0];
cx q[0],q[3];
rx(pi*0.4223785852) q[0];
ry(pi*0.5) q[3];
cx q[3],q[0];
sxdg q[3];
s q[3];
cx q[0],q[3];
u3(pi*0.5,pi*0.8276214148,pi*1.0) q[0];
u3(pi*0.5,pi*0.3276214148,pi*1.0) q[3];

// Gate: CZ**0.15524282950959892
u3(pi*0.5,0,pi*0.25) q[0];
u3(pi*0.5,0,pi*0.75) q[2];
sx q[0];
cx q[0],q[2];
rx(pi*0.4223785852) q[0];
ry(pi*0.5) q[2];
cx q[2],q[0];
sxdg q[2];
s q[2];
cx q[0],q[2];
u3(pi*0.5,pi*0.8276214148,pi*1.0) q[0];
u3(pi*0.5,pi*0.3276214148,pi*1.0) q[2];

// Gate: CZ**0.15524282950959892
u3(pi*0.5,0,pi*0.25) q[1];
u3(pi*0.5,0,pi*0.75) q[2];
sx q[1];
cx q[1],q[2];
rx(pi*0.4223785852) q[1];
ry(pi*0.5) q[2];
cx q[2],q[1];
sxdg q[2];
s q[2];
cx q[1],q[2];
u3(pi*0.5,pi*0.8276214148,pi*1.0) q[1];
u3(pi*0.5,pi*0.3276214148,pi*1.0) q[2];

rx(pi*0.1766811937) q[0];

// Gate: CZ**0.15524282950959892
u3(pi*0.5,0,pi*0.25) q[1];
u3(pi*0.5,0,pi*0.75) q[3];
sx q[1];
cx q[1],q[3];
rx(pi*0.4223785852) q[1];
ry(pi*0.5) q[3];
cx q[3],q[1];
sxdg q[3];
s q[3];
cx q[1],q[3];
u3(pi*0.5,pi*0.8276214148,pi*1.0) q[1];
u3(pi*0.5,pi*0.3276214148,pi*1.0) q[3];

// Gate: CZ**0.15524282950959892
u3(pi*0.5,0,pi*0.25) q[2];
u3(pi*0.5,0,pi*0.75) q[3];
sx q[2];
cx q[2],q[3];
rx(pi*0.4223785852) q[2];
ry(pi*0.5) q[3];
cx q[3],q[2];
sxdg q[3];
s q[3];
cx q[2],q[3];
u3(pi*0.5,pi*0.8276214148,pi*1.0) q[2];
u3(pi*0.5,pi*0.3276214148,pi*1.0) q[3];

rx(pi*0.1766811937) q[1];
rx(pi*0.1766811937) q[2];
rx(pi*0.1766811937) q[3];

// Gate: CZ**0.2858383611880559
u3(pi*0.5,pi*1.0,pi*0.75) q[0];
u3(pi*0.5,pi*1.0,pi*1.25) q[1];
sx q[0];
cx q[0],q[1];
rx(pi*0.3570808194) q[0];
ry(pi*0.5) q[1];
cx q[1],q[0];
sxdg q[1];
s q[1];
cx q[0],q[1];
u3(pi*0.5,pi*0.3929191806,0) q[0];
u3(pi*0.5,pi*1.8929191806,0) q[1];

// Gate: CZ**0.2858383611880559
u3(pi*0.5,pi*1.0,pi*0.75) q[0];
u3(pi*0.5,pi*1.0,pi*1.25) q[3];
sx q[0];
cx q[0],q[3];
rx(pi*0.3570808194) q[0];
ry(pi*0.5) q[3];
cx q[3],q[0];
sxdg q[3];
s q[3];
cx q[0],q[3];
u3(pi*0.5,pi*0.3929191806,0) q[0];
u3(pi*0.5,pi*1.8929191806,0) q[3];

// Gate: CZ**0.2858383611880559
u3(pi*0.5,pi*1.0,pi*0.75) q[0];
u3(pi*0.5,pi*1.0,pi*1.25) q[2];
sx q[0];
cx q[0],q[2];
rx(pi*0.3570808194) q[0];
ry(pi*0.5) q[2];
cx q[2],q[0];
sxdg q[2];
s q[2];
cx q[0],q[2];
u3(pi*0.5,pi*0.3929191806,0) q[0];
u3(pi*0.5,pi*1.8929191806,0) q[2];

// Gate: CZ**0.2858383611880559
u3(pi*0.5,pi*1.0,pi*0.75) q[1];
u3(pi*0.5,pi*1.0,pi*1.25) q[2];
sx q[1];
cx q[1],q[2];
rx(pi*0.3570808194) q[1];
ry(pi*0.5) q[2];
cx q[2],q[1];
sxdg q[2];
s q[2];
cx q[1],q[2];
u3(pi*0.5,pi*0.3929191806,0) q[1];
u3(pi*0.5,pi*1.8929191806,0) q[2];

rx(pi*0.0931081293) q[0];

// Gate: CZ**0.2858383611880559
u3(pi*0.5,pi*1.0,pi*0.75) q[1];
u3(pi*0.5,pi*1.0,pi*1.25) q[3];
sx q[1];
cx q[1],q[3];
rx(pi*0.3570808194) q[1];
ry(pi*0.5) q[3];
cx q[3],q[1];
sxdg q[3];
s q[3];
cx q[1],q[3];
u3(pi*0.5,pi*0.3929191806,0) q[1];
u3(pi*0.5,pi*1.8929191806,0) q[3];

// Gate: CZ**0.2858383611880559
u3(pi*0.5,pi*1.0,pi*0.75) q[2];
u3(pi*0.5,pi*1.0,pi*1.25) q[3];
sx q[2];
cx q[2],q[3];
rx(pi*0.3570808194) q[2];
ry(pi*0.5) q[3];
cx q[3],q[2];
sxdg q[3];
s q[3];
cx q[2],q[3];
u3(pi*0.5,pi*0.3929191806,0) q[2];
u3(pi*0.5,pi*1.8929191806,0) q[3];

rx(pi*0.0931081293) q[1];
rx(pi*0.0931081293) q[2];
rx(pi*0.0931081293) q[3];
47 changes: 47 additions & 0 deletions 2025/assets/baseline/3.qasm
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// Generated from Cirq v1.4.1

OPENQASM 2.0;
include "qelib1.inc";


// Qubits: [q(0), q(1), q(2), q(3), q(4), q(5), q(6), q(7), q(8), q(9), q(10), q(11), q(12), q(13), q(14), q(15), q(16)]
qreg q[17];


h q[3];
h q[4];
h q[6];
h q[11];
h q[12];
h q[14];
h q[15];
h q[16];
cx q[2],q[10];
cx q[2],q[9];
cx q[2],q[8];
cx q[2],q[5];
cx q[4],q[2];
cx q[4],q[1];
cx q[6],q[2];
cx q[4],q[5];
cx q[3],q[1];
cx q[3],q[0];
cx q[6],q[5];
cx q[3],q[4];
cx q[6],q[7];
cx q[11],q[3];
cx q[11],q[4];
cx q[11],q[5];
cx q[11],q[6];
cx q[11],q[8];
cx q[11],q[9];
cx q[14],q[8];
cx q[11],q[10];
cx q[14],q[9];
cx q[14],q[13];
cx q[15],q[9];
cx q[15],q[10];
cx q[16],q[13];
cx q[15],q[14];
cx q[16],q[14];
cx q[16],q[15];
42 changes: 42 additions & 0 deletions 2025/assets/baseline/4.qasm
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// Generated from Cirq v1.4.1

OPENQASM 2.0;
include "qelib1.inc";


// Qubits: [q(0, 4), q(1, 1), q(1, 3), q(1, 5), q(2, 0), q(2, 2), q(2, 4), q(3, 1), q(3, 3), q(3, 5), q(4, 2), q(4, 4), q(4, 6), q(5, 1), q(5, 3), q(5, 5), q(6, 2)]
qreg q[17];


h q[4];
h q[10];
h q[6];
h q[12];
cx q[4],q[7];
cx q[6],q[9];
cx q[10],q[14];
cx q[3],q[0];
cx q[8],q[5];
cx q[15],q[11];
cx q[4],q[1];
cx q[6],q[3];
cx q[10],q[8];
cx q[2],q[0];
cx q[7],q[5];
cx q[14],q[11];
cx q[6],q[8];
cx q[10],q[13];
cx q[12],q[15];
cx q[2],q[5];
cx q[9],q[11];
cx q[14],q[16];
cx q[6],q[2];
cx q[10],q[7];
cx q[12],q[9];
cx q[1],q[5];
cx q[8],q[11];
cx q[13],q[16];
h q[4];
h q[10];
h q[6];
h q[12];
Loading