Claude Code Plugins

Community-maintained marketplace

Feedback

zx-calculus

@plurigrid/asi
0
0

Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name zx-calculus
description Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)
version 1.0.0

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

  1. Circuit optimization: T-count reduction
  2. Verification: Equivalence checking
  3. Compilation: High-level → hardware
  4. Music: Quantum score notation
  5. 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

  1. Coecke & Duncan (2008). Interacting quantum observables
  2. van de Wetering (2020). ZX-calculus for the working quantum computer scientist
  3. 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:

  1. Prime Path: No state revisited in skill invocation chain
  2. Möbius Filter: Composite paths (backtracking) cancel via μ-inversion
  3. GF(3) Conservation: Trit sum ≡ 0 (mod 3) across skill triplets
  4. Spectral Gap: Ramanujan bound λ₂ ≤ 2√(k-1) for k-regular expansion