A set of small, independent projects: interactive demos, teaching material, and research code. Most run directly in the browser with nothing to install, and many are written in MATLAB syntax and run there via numbl.
Projects are grouped below by application area — physics, numerical methods, data compression, neurophysiology, visual math, and more — rather than by the technology behind them. Each links to its repository, and to a live page where there is one.
- numbl-quantum-optics (live). Runnable scripts accompanying the article "Quantum optics in MATLAB" (arXiv:2309.14354), covering quantum states, operators, and dynamics.
- numbl-open-quantum-systems (live). Code from "Coding closed and open quantum systems in MATLAB" (arXiv:1911.04906), including Ising dynamics, cavity-QED phase transitions, and Lindblad and non-Markovian evolution.
- numbl-distmesh (live). Every example from Persson and Strang's DistMesh, meshing 2-D regions and surfaces from signed distance functions.
- numbl-surfacefun-intro (live). An introduction to surfacefun, which computes with functions on surfaces and solves PDEs on them to high order.
- surfacefun-interactive (live). surfacefun demos with live sliders, where React and three.js drive a numbl script. Refine a cubed-sphere mesh or scale a tangent vector field and watch it update.
- numbl-chunkie (live). Examples for chunkie: building chunker geometries in 2-D and solving Laplace, Helmholtz, and Stokes boundary integral equations.
- qhull-wasm-demo (live). Demos and benchmarks for qhull-wasm, which compiles Qhull to WebAssembly. Includes 2-D Delaunay triangulation, 3-D convex hull, and a Delaunay benchmark with matching scripts for MATLAB, Octave, and numbl.
- hitandrun-interactive (live). Hit-and-run MCMC sampling of a 2-D convex region, with React driving a numbl script. Resample, make new regions, or play a step-by-step movie of the algorithm.
- walnuts-interactive (live). WALNUTS (the within-orbit adaptive leapfrog No-U-Turn Sampler) drawing from a 2-D banana target, with React driving a numbl script. Tune the leapfrog step and error tolerance, or play a step-by-step movie of the orbit-building.
- commonview (live). A minimal peer-to-peer page where every visitor shares one state (a counter): nostr discovery, a WebRTC mesh, and a central-peer authority. The basis for hitandrun-commonview.
- hitandrun-commonview (live). The hit-and-run figure with a single live view shared by all visitors over a WebRTC mesh; one peer runs the sampler via numbl and broadcasts to the rest.
- benchcompress (results, paper (WIP)). A benchmarking framework that measures compression ratio and encode/decode throughput for compression algorithms on scientific data arrays.
- ephys_compression_tests (results). Compression benchmarks for electrophysiology recordings.
- ans-visualizer (live). A step-by-step visualizer for the Asymmetric Numeral Systems (ANS) entropy-coding algorithm (Duda et al., 2015).
- remote-hdf5-lazy-read (live). Shows how neurosift browses large remote NWB/HDF5 files in the browser using HTTP range requests, with no full download and no backend.
- dandiset_000986 (visualizations). Reproducible figures and visualizations for DANDI Dandiset 000986, a set of mouse auditory cortex recordings.
- finite-field-visualizer (live). Color-coded multiplication tables over finite (prime) fields. Step through the primes to watch the structure change.
- gcd-visualizer (live). A heatmap of the greatest common divisor of every pair (i, j), laid out as a color-coded table.
- numbl-image-filter (live). Upload an image, write a MATLAB-syntax filter, and run it on the image in the browser.
Utilities and starting points for building your own numbl projects.
- numbl-figure-viewer (live). Open and explore a figure exported from numbl, including its underlying data.
- numbl-project-example (live). A minimal numbl project deployed to GitHub Pages, meant as a starting template.
- numbl-embed-example (live). Shows how to embed editable, runnable numbl scripts inside Markdown rendered on GitHub Pages.