Add ring network interactive example#333
Add ring network interactive example#333nenadilic84 wants to merge 1 commit intoQuantumSavory:masterfrom
Conversation
Implements an interactive example demonstrating entanglement distribution over a ring (cyclic) topology, addressing issue QuantumSavory#138. Features: - Ring of N quantum nodes (default N=8) with Alice and Bob on opposite sides - Bidirectional entanglement flow (clockwise and counterclockwise paths) - Uses standard ProtocolZoo protocols: EntanglerProt, SwapperProt, EntanglementTracker, EntanglementConsumer, CutoffProt - Direction-aware swap predicates adapted for ring geometry - Interactive GLMakie visualization with performance plots and sliders - WGLMakie variant for web-based viewing - Circular layout via NetworkLayout.jl Shell()
Benchmark Results (Julia v1)Time benchmarks
Memory benchmarks
|
|
LLM disclosure per Stefan's request on #334: I used Claude (Anthropic) via the Claude Code CLI on this PR. Used the firstgenrepeater examples as a starting point. Claude generated initial scripts, I adjusted the network topology and RegisterNet usage. Ran both GLMakie and WGLMakie versions locally. See #334 for the full breakdown. |
|
Hi @nenadilic84, thank you for your submission! Could you please clarify what you mean by “bidirectional entanglement flow” in your example? Also, can you share generated example visuals along with a more detailed explanation of the figures of merit (there seemed to be many when I ran the code)? It would be beneficial for both of you and me if you could do this without relying on LLM. |
|
Thanks @nenadilic84 ! Just to follow up on Hana's comment, the "bidirectionality" idea is not super clear to me. There isn't really a notion of direction when it comes to generating a Bell pair, so it would be helpful to discuss in a more pedagogical fashion how it is introduced here and why is it a useful concept. I will convert this into a draft for now just to keep my review queue a bit more organized, do not hesitate to convert it back to a non-draft and request further reviews. |
|
It has been a month since converting this to a draft. I will close for now, to keep the queue clean, but do not hesitate to reopen if you want to take it on again. |
Summary
Adds a new interactive example demonstrating entanglement distribution over a ring (cyclic) topology, addressing issue #138.
ProtocolZooprotocols:EntanglerProt,SwapperProt,EntanglementTracker,EntanglementConsumer,CutoffProtring_swap_predicates)NetworkLayout.jlShell()This is the first cyclic topology example — all existing examples use acyclic topologies (chains, grids, stars). Ring networks are common in metropolitan quantum network designs and demonstrate path redundancy.
Closes #138
Files
examples/ringnetwork/setup.jlprepare_simulation()andring_swap_predicates()examples/ringnetwork/1_interactive_visualization.jlexamples/ringnetwork/2_wglmakie_interactive.jlexamples/ringnetwork/README.mdtest/test_examples.jlCHANGELOG.mdTest plan
plotting-tests)examples-with-plottingtests)1_interactive_visualization.jland confirm ring layout, entanglement links, and performance plots update correctly