Skip to content

Commit 25a5e2f

Browse files
committed
docs: update poster and lecture notes
1 parent c1053a3 commit 25a5e2f

3 files changed

Lines changed: 1706 additions & 1849 deletions

File tree

docs/poster/main.typ

Lines changed: 62 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Our implementation correctly resolves the circuit-level error threshold at $appr
3434

3535
#pop.column-box(heading: "Rotated Surface Code")[
3636
#grid(columns: 2, gutter: 20pt,
37-
canvas(length: 5cm, {
37+
canvas(length: 2cm, {
3838
import draw: *
3939
surface-code((0, 0), size: 2.5, 3, 3, name: "sc")
4040
}),
@@ -89,21 +89,78 @@ canvas(length: 1.2cm, {
8989
}),
9090
box[
9191
*Message passing:*
92-
$ mu_(v arrow f) = product_(f' in N(v) \\ f) mu_(f' arrow v) $
93-
$ mu_(f arrow v) = sum_(bold(x): x_v = 0,1) psi_f (bold(x)) product_(v' in N(f) \\ v) mu_(v' arrow f) $
92+
$ mu_(v arrow f) = product_(f' in N(v) \\ f) mu_(f' arrow v), mu_(f arrow v) = sum_(bold(x): x_v = 0,1) psi_f (bold(x)) product_(v' in N(f) \\ v) mu_(v' arrow f) $
9493
]
9594
)
9695

97-
*Ordered Statistics Decoding (OSD)* post-processes BP output:
96+
#figure(
97+
image("../images/bp_failure_demo.png", width: 100%),
98+
caption: [BP alone fails due to degeneracy: the decoder outputs an invalid solution that does not satisfy the syndrome.]
99+
)
100+
*Ordered Statistics Decoding (OSD)* post-processes BP output:
98101
1. Sort variables by BP reliability
99102
2. Fix most reliable bits using Gaussian elimination
100103
3. Exhaustively search remaining bits (OSD-$w$ searches $w$ bits)
101104

102-
#highlight[Key insight: BP provides soft information; OSD provides guaranteed valid codeword.]
105+
#figure(
106+
canvas(length: 2cm, {
107+
import draw: *
108+
109+
// Original matrix
110+
rect((-4, -1), (-1, 1), fill: rgb("#f0f0f0"), name: "H")
111+
content("H", $H$)
112+
content((-2.5, -1.5), text(size: 30pt)[$m times n$])
113+
114+
// Arrow
115+
line((-0.5, 0), (0.5, 0), mark: (end: ">"))
116+
content((0, 0.5), text(size: 30pt)[split])
117+
118+
// Basis submatrix
119+
rect((1, -1), (3, 1), fill: rgb("#e0ffe0"), name: "HS")
120+
content("HS", $H_([S])$)
121+
content((1.75, -1.5), text(size: 30pt)[$m times r$])
122+
content((1.75, -2), text(size: 30pt)[invertible!])
123+
124+
// Remainder submatrix
125+
rect((3.5, -1), (5, 1), fill: rgb("#ffe0e0"), name: "HT")
126+
content("HT", $H_([T])$)
127+
content((4, -1.5), text(size: 30pt)[$m times k'$])
128+
}),
129+
caption: [Splitting $H$ into basis and remainder parts]
130+
)
103131
]
104132

133+
105134
#colbreak()
106135

136+
#pop.column-box(heading: "BP+OSD Threshold Results")[
137+
#align(center)[
138+
#image("threshold_comparison.png", width: 95%)
139+
]
140+
141+
#table(
142+
columns: 4,
143+
align: center,
144+
stroke: 0.5pt,
145+
table.header([*Noise Model*], [*BP Only*], [*BP+OSD*], [*Optimal*]),
146+
[Code capacity], [N/A], [$approx 9.9%$], [$10.3%$],
147+
[Circuit-level], [N/A], [$approx 0.7%$], [$approx 1%$],
148+
)
149+
150+
#grid(columns: 2, gutter: 20pt,
151+
box[
152+
*Configuration:*
153+
- BP: 60 iterations, min-sum
154+
- Damping: 0.2, OSD order: 10
155+
],
156+
box[
157+
*Validation:*
158+
- Matches ldpc library @Higgott2023
159+
- Curves cross at threshold
160+
]
161+
)
162+
]
163+
107164
#pop.column-box(heading: "Tropical Tensor Networks for MPE")[
108165
The *Most Probable Explanation* (MPE) problem finds the most likely error pattern given observations. We solve this exactly using tropical tensor networks.
109166

@@ -134,34 +191,6 @@ $ log P(bold(x)) = sum_f log psi_f (bold(x)_f) $
134191
- Complexity: $O(2^(text("treewidth")))$
135192
]
136193

137-
#pop.column-box(heading: "Threshold Results")[
138-
#align(center)[
139-
#image("threshold_comparison.png", width: 95%)
140-
]
141-
142-
#table(
143-
columns: 4,
144-
align: center,
145-
stroke: 0.5pt,
146-
table.header([*Noise Model*], [*BP Only*], [*BP+OSD*], [*Optimal*]),
147-
[Code capacity], [N/A], [$approx 9.9%$], [$10.3%$],
148-
[Circuit-level], [N/A], [$approx 0.7%$], [$approx 1%$],
149-
)
150-
151-
#grid(columns: 2, gutter: 20pt,
152-
box[
153-
*Configuration:*
154-
- BP: 60 iterations, min-sum
155-
- Damping: 0.2, OSD order: 10
156-
],
157-
box[
158-
*Validation:*
159-
- Matches ldpc library @Higgott2023
160-
- Curves cross at threshold
161-
]
162-
)
163-
]
164-
165194
#pop.column-box(heading: "Software Architecture")[
166195
#align(center)[
167196
#box(stroke: 1pt, inset: 10pt, radius: 3pt)[

note/lecture_note.pdf

180 KB
Binary file not shown.

0 commit comments

Comments
 (0)