Asi zx-calculus
Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)
install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/asi/skills/zx-calculus" ~/.claude/skills/plurigrid-asi-zx-calculus && rm -rf "$T"
manifest:
plugins/asi/skills/zx-calculus/SKILL.mdsource content
ZX-Calculus
Trit: -1 (MINUS - foundational/classical notation) Origin: Coecke & Duncan (2008) Principle: Quantum computation via string diagram rewriting
Overview
ZX-calculus is a graphical language for quantum computing where:
- Z-spiders (green): Phase gates in computational basis
- X-spiders (red): Phase gates in Hadamard basis
- Wires: Qubits
- Rewrite rules: Simplify circuits
Basic Elements
Z-spider (green): X-spider (red): Hadamard: │ │ ╲ ╱ ┌─┴─┐ ┌─┴─┐ ─ │ α │ = e^{iα}|0⟩⟨0| │ α │ = H·Z(α)·H ─ └─┬─┘ + |1⟩⟨1| └─┬─┘ ╱ ╲ │ │
GF(3) Color Assignment
| Spider | Color | Trit | Basis |
|---|---|---|---|
| Z | Green #26D826 | 0 | Computational |
| X | Red #D82626 | +1 | Hadamard |
| H-edge | Blue #2626D8 | -1 | Transition |
Conservation: Green(0) + Red(+1) + Blue(-1) = 0 ✓
Core Rules
Spider Fusion
│ │ │ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ │ α │───│ β │ = │α+β│ └─┬─┘ └─┬─┘ └─┬─┘ │ │ │
Bialgebra (Hopf)
╲ ╱ │ │ X = │ │ ╱ ╲ │ │
Color Change
┌───┐ ┌───┐ │ Z │──H──│ X │ └───┘ └───┘
DisCoPy Implementation
from discopy.quantum.zx import Z, X, H, Id, SWAP, Cap, Cup # Bell state preparation bell = Cap(Z(0), Z(0)) >> (Id(1) @ H) >> CNOT # ZX diagram diagram = Z(1, 2, phase=0.5) >> (X(1, 1, phase=0.25) @ Z(1, 1)) # Simplify via rewrite rules simplified = diagram.normal_form() # Extract circuit circuit = simplified.to_circuit()
Musical Notation (Quantum Guitar)
From Abdyssagin & Coecke's "Bell" composition:
Staff 1 (Piano): Staff 2 (Quantum Guitar): ┌─Z─┐ ┌─X─┐ │ │ │ │ ────┴───┴──── ─────┴───┴───── Bell pair Measurement
PyZX Integration
import pyzx as zx # Create circuit circuit = zx.Circuit(2) circuit.add_gate("H", 0) circuit.add_gate("CNOT", 0, 1) # Convert to ZX graph graph = circuit.to_graph() # Simplify zx.simplify.full_reduce(graph) # Extract optimized circuit optimized = zx.extract_circuit(graph) print(f"T-count: {optimized.tcount()}")
Quantum Music Score
ZX-calculus as musical notation:
| ZX Element | Musical Meaning |
|---|---|
| Z-spider | Sustained note (computational) |
| X-spider | Transposed note (Hadamard) |
| Wire | Time/voice continuation |
| H-edge | Key change |
| Cup/Cap | Entanglement (Bell pair) |
Applications
- Circuit optimization: T-count reduction
- Verification: Equivalence checking
- Compilation: High-level → hardware
- Music: Quantum score notation
- NLP: Compositional semantics (DisCoCat)
GF(3) Triad
| Component | Trit | Role |
|---|---|---|
| zx-calculus | -1 | Notation |
| quantum-guitar | 0 | Performance |
| discopy | +1 | Computation |
Conservation: (-1) + (0) + (+1) = 0 ✓
References
- Coecke & Duncan (2008). Interacting quantum observables
- van de Wetering (2020). ZX-calculus for the working quantum computer scientist
- Coecke (2023). Basic ZX-calculus. arXiv:2303.03163
Skill Name: zx-calculus Type: Quantum Computing / Diagrammatic Reasoning Trit: -1 (MINUS)
Non-Backtracking Geodesic Qualification
Condition: μ(n) ≠ 0 (Möbius squarefree)
This skill is qualified for non-backtracking geodesic traversal:
- Prime Path: No state revisited in skill invocation chain
- Möbius Filter: Composite paths (backtracking) cancel via μ-inversion
- GF(3) Conservation: Trit sum ≡ 0 (mod 3) across skill triplets
- Spectral Gap: Ramanujan bound λ₂ ≤ 2√(k-1) for k-regular expansion