Notebook Development
Working with Jupyter notebooks in the qig project.
Available Notebooks
The examples/ directory contains tutorial and demonstration notebooks:
- generate-origin-paper-figures.ipynb
Interactive demonstration notebook with validation experiments for the “Inaccessible Game” paper. Generates figures showing constrained dynamics, entropy evolution, and mutual information trajectories.
- symbolic_verification_experiments.ipynb
Verification of key theoretical predictions including qutrit optimality, constraint linearization, and the structural identity ν = -1.
- lme_numeric_symbolic_bridge.ipynb
Tutorial bridging the numeric exponential family (
QuantumExponentialFamily) with the symbolic LME decomposition (qig.symbolic.lme_exact). Covers:Regularized Bell state construction with
log_epsilonBlock decomposition of K(θ) in the LME basis
Eigenvalue structure at the LME origin
Scaling behaviour of natural parameters (
|θ| ~ |log ε|)
- entropy_time_analysis.ipynb
Analysis of entropy time reparameterisation and its relationship to Fisher information geometry. Covers:
Entropy evolution under different time parameterisations
Fisher metric tensor analysis
Time dilation effects near entropy extrema
Comparison of affine vs entropy time evolution
- entropy_time_paths.ipynb
Exploration of different paths from the LME origin using entropy time. This notebook demonstrates that the “boring” game is an artifact of isotropic regularisation, not an intrinsic property of the origin. Covers:
The “north pole” analogy for the LME origin
Isotropic vs anisotropic regularisation (different σ choices)
The “almost-null” direction of the BKM metric
L’Hôpital-style limits in entropy time
How different σ choices give different limiting directions
Tracing trajectories backward to the origin
Physical interpretation: many histories sharing the same asymptotic boundary
- boring_game_dynamics.ipynb
Analysis of why the inaccessible game becomes “boring” from the LME origin. When starting from a product of Bell states with isotropic regularisation, the marginal entropy constraint is automatically satisfied along the entire gradient flow, making constrained and unconstrained dynamics identical. Covers:
Bell state construction and properties
Why the LME origin satisfies constraints automatically
When the game becomes non-trivial
Conditions for constraint activation
- multi_pair_regularisation.ipynb
Tutorial demonstrating the CIP-0008 regularisation machinery for multi-pair quantum systems. Explores how different choices of regularisation matrix σ affect physics and computational efficiency. Covers:
The “north pole” analogy for the LME origin
Isotropic σ = I/D (default, efficient, “boring”)
Product σ = σ₁⊗…⊗σₙ (efficient, per-pair directions)
General entangled σ (flexible, O(D³) cost)
Different origins via
bell_indicesBlock-diagonal Fisher information for product states
Performance benchmarks
Notebook Output Filtering
The project uses nbstripout to automatically clean notebook outputs before committing.
Setup:
pip install nbstripout
nbstripout --install
This prevents:
Large binary data from bloating the repository
Merge conflicts from execution counts
Accidentally committing sensitive data
Notebook Testing
Notebooks can be tested in two modes:
Smoke tests (fast, ~10-20 seconds): Execute first N cells to verify imports
Full execution (complete validation): Run entire notebook
Run smoke tests:
pytest -m integration tests/test_notebook.py -v
Run full execution tests:
pytest -m "integration and slow" tests/test_notebook.py -v
See Testing Documentation for details on running notebook tests.
See Also
Testing Documentation - Testing guidelines (includes notebook testing)
Notebook Output Filtering - Detailed filtering documentation
Symbolic Computation for Qutrits - Symbolic computation theory