zx-calculus
npx skills add https://github.com/plurigrid/asi --skill zx-calculus
Agent 安装分布
Skill 文档
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
SDF Interleaving
This skill connects to Software Design for Flexibility (Hanson & Sussman, 2021):
Primary Chapter: 3. Variations on an Arithmetic Theme
Concepts: generic arithmetic, coercion, symbolic, numeric
GF(3) Balanced Triad
zx-calculus (â) + SDF.Ch3 (â) + [balancer] (â) = 0
Skill Trit: 0 (ERGODIC – coordination)
Secondary Chapters
- Ch2: Domain-Specific Languages
Connection Pattern
Generic arithmetic crosses type boundaries. This skill handles heterogeneous data.