/ concept-collection / dot-github
Sign in
concept-collection / dot-github
dot-github / profile / README.md
182 lines · 10.3 KBPreviewCodeBlameHistoryRaw
1# Concept Collection
3A set of small, independent projects: interactive demos, teaching material, and
4research code. Most run directly in the browser with nothing to install, and
5many are written in MATLAB syntax and run there via [numbl](https://numbl.org).
7Projects are grouped below by **application area** — the numbl platform,
8sampling, geometry and meshing, neurophysiology, data compression, physics,
9visual math, and more — rather than by the technology behind them. Each links to
10its repository, and to a live page where there is one.
12## numbl platform: templates & tooling
14Utilities and starting points for building your own
15[numbl](https://numbl.org) projects.
17- **[numbl-web-ide](https://github.com/concept-collection/numbl-web-ide)**
18 ([live](https://concept-collection.github.io/numbl-web-ide/)).
19 Run MATLAB-syntax .m files in your browser, in a VS Code-style IDE.
20- **[jupyterlite-numbl-kernel](https://github.com/concept-collection/jupyterlite-numbl-kernel)**
21 ([live](https://concept-collection.github.io/jupyterlite-numbl-kernel/)).
22 A JupyterLite kernel that runs numbl in notebook cells entirely in the
23 browser, with inline figures and mip packages.
24- **[numbl-figure-viewer](https://github.com/concept-collection/numbl-figure-viewer)**
25 ([live](https://concept-collection.github.io/numbl-figure-viewer/)).
26 Open and explore a figure exported from numbl, including its underlying data.
27- **[numbl-project-example](https://github.com/concept-collection/numbl-project-example)**
28 ([live](https://concept-collection.github.io/numbl-project-example/)).
29 A minimal numbl project deployed to GitHub Pages, meant as a starting
30 template.
31- **[numbl-embed-example](https://github.com/concept-collection/numbl-embed-example)**
32 ([live](https://concept-collection.github.io/numbl-embed-example/)).
33 Shows how to embed editable, runnable numbl scripts inside Markdown rendered
34 on GitHub Pages.
36## Monte Carlo & sampling
38- **[hitandrun-interactive](https://github.com/concept-collection/hitandrun-interactive)**
39 ([live](https://concept-collection.github.io/hitandrun-interactive/#figure/sampler)).
40 Hit-and-run MCMC sampling of a 2-D convex region, with React driving a numbl
41 script. Resample, make new regions, or play a step-by-step movie of the
42 algorithm.
43- **[walnuts-interactive](https://github.com/concept-collection/walnuts-interactive)**
44 ([live](https://concept-collection.github.io/walnuts-interactive/#figure/sampler)).
45 WALNUTS (the within-orbit adaptive leapfrog No-U-Turn Sampler) drawing from a
46 2-D banana target, with React driving a numbl script. Tune the leapfrog step
47 and error tolerance, or play a step-by-step movie of the orbit-building.
48- **[stan-web-ide](https://github.com/concept-collection/stan-web-ide)**
49 ([live](https://concept-collection.github.io/stan-web-ide/)).
50 Run [Stan](https://mc-stan.org) sampling in your browser, in a VS Code-style
51 IDE.
53## Peer-to-peer shared state
55- **[hitandrun-commonview](https://github.com/concept-collection/hitandrun-commonview)**
56 ([live](https://concept-collection.github.io/hitandrun-commonview/)).
57 The hit-and-run figure with a single live view shared by all visitors over a
58 WebRTC mesh; one peer runs the sampler via numbl and broadcasts to the rest.
59- **[commonview](https://github.com/concept-collection/commonview)**
60 ([live](https://concept-collection.github.io/commonview/)).
61 A minimal peer-to-peer page where every visitor shares one state (a counter):
62 nostr discovery, a WebRTC mesh, and a central-peer authority. The basis for
63 hitandrun-commonview.
65## Geometry, meshing & PDE solvers
67- **[surfacefun-interactive](https://github.com/concept-collection/surfacefun-interactive)**
68 ([live](https://concept-collection.github.io/surfacefun-interactive/)).
69 surfacefun demos with live sliders, where React and three.js drive a numbl
70 script. Refine a cubed-sphere mesh or scale a tangent vector field and watch
71 it update.
72- **[mesh-studio](https://github.com/concept-collection/mesh-studio)**
73 ([live](https://concept-collection.github.io/mesh-studio/)).
74 Build CAD primitives or import STEP/IGES with
75 [OpenCASCADE.js](https://ocjs.org/), then inspect them in 3D — including each
76 face's true NURBS surface (polynomials on faces), not just its triangulation.
77- **[mesh-converter](https://github.com/concept-collection/mesh-converter)**
78 ([live](https://concept-collection.github.io/mesh-converter/)).
79 Convert meshes between 19 formats (PLY, OBJ, STL, VTK, Gmsh, XDMF, …) with
80 [meshio](https://github.com/nschloe/meshio) running in-browser on Pyodide;
81 inspect meshes in 3D and see what a lossy export would drop.
82- **[mesh-pde-solver](https://github.com/concept-collection/mesh-pde-solver)**
83 ([live](https://concept-collection.github.io/mesh-pde-solver/)).
84 Upload a quad surface mesh and solve Poisson or Helmholtz problems on it
85 with [surfacefun](https://github.com/danfortunato/surfacefun), entirely in
86 the browser; the solution renders in a rotatable 3D view.
87- **[qhull-wasm-demo](https://github.com/concept-collection/qhull-wasm-demo)**
88 ([live](https://concept-collection.github.io/qhull-wasm-demo/)).
89 Demos and benchmarks for [qhull-wasm](https://github.com/magland/qhull-wasm),
90 which compiles [Qhull](http://www.qhull.org) to WebAssembly. Includes 2-D
91 Delaunay triangulation, 3-D convex hull, and a Delaunay benchmark with
92 matching scripts for MATLAB, Octave, and numbl.
93- **[numbl-distmesh](https://github.com/concept-collection/numbl-distmesh)**
94 ([live](https://concept-collection.github.io/numbl-distmesh/)).
95 Every example from Persson and Strang's
96 [DistMesh](https://github.com/popersson/DistMesh), meshing 2-D regions and
97 surfaces from signed distance functions.
98- **[numbl-surfacefun-intro](https://github.com/concept-collection/numbl-surfacefun-intro)**
99 ([live](https://concept-collection.github.io/numbl-surfacefun-intro/)).
100 An introduction to [surfacefun](https://github.com/danfortunato/surfacefun),
101 which computes with functions on surfaces and solves PDEs on them to high
102 order.
103- **[numbl-chunkie](https://github.com/concept-collection/numbl-chunkie)**
104 ([live](https://concept-collection.github.io/numbl-chunkie/)).
105 Examples for [chunkie](https://github.com/fastalgorithms/chunkie): building
106 chunker geometries in 2-D and solving Laplace, Helmholtz, and Stokes boundary
107 integral equations.
108- **[abc-step-1000](https://github.com/concept-collection/abc-step-1000)**
109 ([live](https://concept-collection.github.io/abc-step-1000/)).
110 The first 1000 STEP files from the
111 [ABC dataset](https://deep-geometry.github.io/abc-dataset/) of CAD models
112 (Koch et al., CVPR 2019), served gzip-compressed with a JSON manifest for
113 direct download.
115## Linear algebra & performance
117- **[matmul-bench](https://github.com/concept-collection/matmul-bench)**
118 ([live](https://concept-collection.github.io/matmul-bench/)).
119 Benchmarks matrix-matrix multiply (GEMM) in the browser across a plain JS
120 triple loop, a WebGPU compute shader, hand-written C compiled to WASM (SIMD
121 and threads), and a real BLAS ([libFLAME](https://github.com/concept-collection/libflame2wasm)/BLIS)
122 compiled to WASM — with a native OpenBLAS reference for comparison.
124## Neurophysiology data & remote access
126- **[remote-hdf5-lazy-read](https://github.com/concept-collection/remote-hdf5-lazy-read)**
127 ([live](https://concept-collection.github.io/remote-hdf5-lazy-read/)).
128 Shows how [neurosift](https://neurosift.app/) browses large remote
129 [NWB](https://www.nwb.org/)/HDF5 files in the browser using HTTP range
130 requests, with no full download and no backend.
131- **[dandiset_000986](https://github.com/concept-collection/dandiset_000986)**
132 ([visualizations](https://concept-collection.github.io/dandiset_000986/)).
133 Reproducible figures and visualizations for
134 [DANDI Dandiset 000986](https://dandiarchive.org/dandiset/000986), a set of
135 mouse auditory cortex recordings.
137## Scientific data compression
139- **[ans-visualizer](https://github.com/concept-collection/ans-visualizer)**
140 ([live](https://concept-collection.github.io/ans-visualizer/)).
141 A step-by-step visualizer for the Asymmetric Numeral Systems (ANS)
142 entropy-coding algorithm ([Duda et al., 2015](https://ieeexplore.ieee.org/abstract/document/7170048)).
143- **[benchcompress](https://github.com/concept-collection/benchcompress)**
144 ([results](https://concept-collection.github.io/benchcompress/),
145 [paper (WIP)](https://concept-collection.github.io/benchcompress/paper)).
146 A benchmarking framework that measures compression ratio and encode/decode
147 throughput for compression algorithms on scientific data arrays.
148- **[ephys_compression_tests](https://github.com/concept-collection/ephys_compression_tests)**
149 ([results](https://concept-collection.github.io/ephys_compression_tests/)).
150 Compression benchmarks for electrophysiology recordings.
152## Physics & quantum systems
154- **[numbl-quantum-optics](https://github.com/concept-collection/numbl-quantum-optics)**
155 ([live](https://concept-collection.github.io/numbl-quantum-optics/)).
156 Runnable scripts accompanying the article "Quantum optics in MATLAB"
157 ([arXiv:2309.14354](https://arxiv.org/abs/2309.14354)), covering quantum
158 states, operators, and dynamics.
159- **[numbl-open-quantum-systems](https://github.com/concept-collection/numbl-open-quantum-systems)**
160 ([live](https://concept-collection.github.io/numbl-open-quantum-systems/)).
161 Code from "Coding closed and open quantum systems in MATLAB"
162 ([arXiv:1911.04906](https://arxiv.org/abs/1911.04906)), including Ising
163 dynamics, cavity-QED phase transitions, and Lindblad and non-Markovian
164 evolution.
166## Image processing
168- **[numbl-image-filter](https://github.com/concept-collection/numbl-image-filter)**
169 ([live](https://concept-collection.github.io/numbl-image-filter/)).
170 Upload an image, write a MATLAB-syntax filter, and run it on the image in the
171 browser.
173## Number theory & visual math
175- **[finite-field-visualizer](https://github.com/concept-collection/finite-field-visualizer)**
176 ([live](https://concept-collection.github.io/finite-field-visualizer/)).
177 Color-coded multiplication tables over finite (prime) fields. Step through the
178 primes to watch the structure change.
179- **[gcd-visualizer](https://github.com/concept-collection/gcd-visualizer)**
180 ([live](https://concept-collection.github.io/gcd-visualizer/)).
181 A heatmap of the greatest common divisor of every pair (i, j), laid out as a
182 color-coded table.
moveopenescclose