waverider 0.13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,86 @@
1
+ Elastic License 2.0 (ELv2)
2
+
3
+ Copyright (c) 2026 Eric G. Suchanek, PhD — Flux-Frontiers
4
+
5
+ ACCEPTANCE
6
+
7
+ By using the software, you agree to all of the terms and conditions below.
8
+
9
+ GRANT OF RIGHTS
10
+
11
+ The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable,
12
+ non-transferable license to use, copy, distribute, make available, and prepare derivative
13
+ works of the software, in each case subject to the limitations and conditions below.
14
+
15
+ LIMITATIONS
16
+
17
+ You may not provide the software to third parties as a hosted or managed service, where
18
+ the service provides users with access to any substantial set of the features or
19
+ functionality of the software.
20
+
21
+ You may not move, change, disable, or circumvent the license key functionality in the
22
+ software, and you may not remove or obscure any functionality in the software that is
23
+ protected by the license key.
24
+
25
+ You may not alter, remove, or obscure any licensing, copyright, or other notices of the
26
+ licensor in the software. Any use of the licensor's trademarks is subject to applicable
27
+ law.
28
+
29
+ PATENTS
30
+
31
+ The licensor grants you a license, under any patent claims the licensor can license, or
32
+ chooses to license, to make, have made, use, sell, offer for sale, import and have
33
+ imported the software, in each case subject to the limitations and conditions in this
34
+ license. This license does not cover any patent claims that you cause to be infringed by
35
+ modifications or additions to the software. If you or your company make any written claim
36
+ that the software infringes or contributes to infringement of any patent, your patent
37
+ license for the software granted under these terms ends immediately. If your company
38
+ makes such a claim, your patent license ends immediately for work on behalf of your
39
+ company.
40
+
41
+ NOTICES
42
+
43
+ You must ensure that anyone who gets a copy of any part of the software from you also
44
+ gets a copy of these terms.
45
+
46
+ If you modify the software, you must include in any modified copies of the software
47
+ prominent notices stating that you have modified the software.
48
+
49
+ NO OTHER RIGHTS
50
+
51
+ These terms do not imply any licenses other than those expressly granted in these terms.
52
+
53
+ TERMINATION
54
+
55
+ If you use the software in violation of these terms, such use is not licensed, and your
56
+ licenses will automatically terminate. If the licensor provides you with a notice of your
57
+ violation, and you cease all violation of this license no later than 30 days after you
58
+ receive that notice, your licenses will be reinstated retroactively. However, if you
59
+ violate these terms after such reinstatement, any additional violation of these terms will
60
+ cause your licenses to terminate automatically and permanently.
61
+
62
+ LIMITATION OF LIABILITY
63
+
64
+ *As far as the law allows, the software comes as is, without any warranty or condition,
65
+ and the licensor will not be liable to you for any damages arising out of these terms or
66
+ the use or nature of the software, under any kind of legal claim.*
67
+
68
+ DEFINITIONS
69
+
70
+ The *licensor* is the entity offering these terms, and the *software* is the software
71
+ the licensor makes available under these terms, including any portion of it.
72
+
73
+ *You* refers both to you as an individual and to any entity you represent.
74
+
75
+ *Your company* is any legal entity, sole proprietorship, or other kind of organization
76
+ that you work for, plus all organizations that have control over, are under the control
77
+ of, or are under common control with that organization.
78
+
79
+ *Control* means ownership of substantially all the assets of an entity, or the power to
80
+ direct its management and legal affairs.
81
+
82
+ *Your licenses* are all the licenses granted to you for the software under these terms.
83
+
84
+ *Use* means anything you do with the software requiring one of your licenses.
85
+
86
+ *Trademark* means trademarks, service marks, and similar rights.
@@ -0,0 +1,296 @@
1
+ Metadata-Version: 2.4
2
+ Name: waverider
3
+ Version: 0.13.0
4
+ Summary: Manifold-aware geometric ML stack: TurtleND, ManifoldWalker, ManifoldModel, ManifoldObserver
5
+ License-Expression: Elastic-2.0
6
+ License-File: LICENSE
7
+ Keywords: manifold-learning,intrinsic-dimensionality,geometric-deep-learning,machine-learning
8
+ Author: Eric G. Suchanek, PhD
9
+ Author-email: suchanek@flux-frontiers.com
10
+ Requires-Python: >=3.12,<3.13
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Provides-Extra: kg
17
+ Requires-Dist: doc-kg (>=0.21.1) ; extra == "kg"
18
+ Requires-Dist: numpy (>=1.26,<2)
19
+ Requires-Dist: onnx (>=1.21.0)
20
+ Requires-Dist: onnxruntime (>=1.24.4)
21
+ Requires-Dist: proteuspy (>=0.100.0) ; extra == "kg"
22
+ Requires-Dist: pycode-kg (>=0.21.4) ; extra == "kg"
23
+ Requires-Dist: quiltwright (>=0.1.0)
24
+ Requires-Dist: scikit-learn (>=1.3)
25
+ Requires-Dist: tensorflow (==2.21.0)
26
+ Requires-Dist: tf-keras (>=2.16.0)
27
+ Project-URL: Homepage, https://github.com/Flux-Frontiers/waverider
28
+ Project-URL: Repository, https://github.com/Flux-Frontiers/waverider
29
+ Description-Content-Type: text/markdown
30
+
31
+ [![Python](https://img.shields.io/badge/python-3.12-blue.svg)](https://www.python.org/)
32
+ [![License: Elastic-2.0](https://img.shields.io/badge/License-Elastic%202.0-blue.svg)](https://www.elastic.co/licensing/elastic-license)
33
+ [![Version](https://img.shields.io/badge/version-0.13.0-blue.svg)](https://github.com/Flux-Frontiers/waverider/releases)
34
+ [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
35
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20383651.svg)](https://doi.org/10.5281/zenodo.20383651)
36
+
37
+
38
+ # WaveRider
39
+
40
+ **The geometry of your data tells you the exact size of network you need. Most of what your model is computing is noise.**
41
+
42
+ *Eric G. Suchanek, PhD — Flux-Frontiers*
43
+
44
+ [Technical Paper (PDF)](papers/waverider_article/waverider_jmlr.pdf)
45
+
46
+ ---
47
+
48
+ ## 📡 Breaking News — WaveRider renders to holographic displays
49
+
50
+ **As of v0.10.0, any WaveRider scene can be pushed to real
51
+ [Looking Glass](https://lookingglassfactory.com/) holographic hardware.**
52
+ Two device families are supported, and they take different media — render
53
+ for the display you own:
54
+
55
+ - **[Light-field quilts](https://lfdocs.lookingglassfactory.com/keyconcepts/quilts)**
56
+ — `waverider.lfd`, 9 device presets, stills, MP4, and live casting via
57
+ [Looking Glass Bridge](https://lookingglassfactory.com/software/looking-glass-bridge)
58
+ → **[docs/waverider/lfd.md](docs/waverider/lfd.md)**
59
+ - **[Hololuminescent video](https://hlddocs.lookingglassfactory.com/)** —
60
+ `waverider.hld`, 4K turntable masters to the official spec →
61
+ **[docs/waverider/hld.md](docs/waverider/hld.md)**
62
+ - **CT / MRI demo mode** — real biomedical volumes, no model fitting
63
+ → **[docs/waverider/voxel_viz.md](docs/waverider/voxel_viz.md)**
64
+
65
+ ```bash
66
+ waverider-voxel-viz --dataset iris --quilt portrait --out iris --cast # light-field, live cast
67
+ waverider-voxel-viz --dataset iris --hld --out iris # HLD video
68
+ waverider-voxel-viz --ct-demo --ct-dataset brain --hld --out brain_hld # MRI brain → HLD
69
+ ```
70
+
71
+ Needs the viz extras (`poetry install --with viz`); `--quilt` and `--hld` are
72
+ mutually exclusive.
73
+
74
+ ---
75
+
76
+ ## The Core Finding
77
+
78
+ Machine learning spaces are **99% noise** by dimension. CIFAR-10 images live in a 34-dimensional manifold inside a 3,072-dimensional ambient space. Tiny ImageNet: 20 intrinsic dimensions inside 12,288. Standard algorithms treat every dimension equally — spending 99%+ of their compute on dimensions that carry no signal, while momentum, distance metrics, and gradient updates are polluted by that noise.
79
+
80
+ WaveRider measures the actual geometry, builds models constrained to the signal manifold, and derives a closed-form formula for optimal network width from first principles:
81
+
82
+ > **w\* = d\* + C − 1**
83
+
84
+ Measure the intrinsic dimensionality d\*. Count the classes C. That's your optimal bottleneck width. No grid search. No hyperparameter sweep.
85
+
86
+ ---
87
+
88
+ ## Headline Results
89
+
90
+ ### Universal Bottleneck — formula-derived architectures beat ResNet
91
+
92
+ | Dataset | d\* | C | w\* = d\*+C−1 | ManifoldResNet-UB+Drop | Accuracy | vs ResNet-32 | Δ |
93
+ |---------|-----|---|--------------|------------------------|----------|-------------|---|
94
+ | [**CIFAR-10**](benchmarks/canonical_tests/cifar10_report.md) | 19 | 10 | 28 | 36,942 params | **71.83% ± 0.60%** | 47,978 params → 63.26% ± 3.09% | **+8.57 pp, 23% fewer params** |
95
+ | [**Fashion-MNIST**](benchmarks/canonical_tests/mnist_report.md) | 18 | 10 | 27 | 33,868 params | **88.38% ± 0.37%** | 47,338 params → 82.85% ± 2.60% | **+5.53 pp, 28% fewer params** |
96
+ | [**MNIST**](benchmarks/canonical_tests/mnist_report.md) | 16 | 10 | 25 | 29,110 params | **98.98% ± 0.21%** | 47,338 params → 99.27% ± 0.13% | within 0.3 pp, 38% fewer params |
97
+ | [**CIFAR-100**](benchmarks/canonical_tests/cifar100_report.md) | 19 | 100 | 118 | 644,262 params | **38.3% ± 3.8%** | 50,948 params → 37.6% ± 0.9% | +0.7 pp |
98
+
99
+ *UB+Drop = w\* filters with dropout=0.3 — dropout is the regularizer that lets the formula-derived width generalize.*
100
+
101
+ Two more results families, in **[docs/RESULTS.md](docs/RESULTS.md)** with full tables and provenance notes:
102
+
103
+ - **Zero-parameter classifiers** — `ManifoldModel` beats a trained MLP on Heart Disease (**83.82% vs 80.96%**) and stays within 1 pp on Breast Cancer and Dermatology, with **zero trained parameters**.
104
+ - **Parameter efficiency** — manifold-constrained models match or beat dense baselines with **105×–724×** fewer parameters (MNIST, CIFAR-10) and beat them outright on Tiny ImageNet and CIFAR-100.
105
+
106
+ All benchmark reports are indexed in **[docs/INDEX.md](docs/INDEX.md)**; every figure traces to a results JSON committed beside its script.
107
+
108
+ ---
109
+
110
+ ## The Dimension Probe
111
+
112
+ When a network is given a bottleneck of exactly w\* = d\* + C − 1 neurons, it
113
+ **spontaneously partitions** that space — with zero instruction — into a geometry
114
+ subspace plus exactly C−1 class-separation coordinates, and the two together
115
+ recover d\* precisely.
116
+
117
+ On CIFAR-10 (d\*=16, C=10, w\*=25), PCA on the w\*-dimensional bottleneck yields
118
+ k₉₀ = 7 geometry components (the on-manifold subspace, Whitney bound) and
119
+ n_extra = 9 class-separation coordinates. Both identities hold exactly:
120
+
121
+ > **k₉₀ + n_extra = 7 + 9 = 16 = d\*** and **n_extra = 9 = C − 1**
122
+
123
+ The semantic content is interpretable: PC11 selects four-legged animals, PC9
124
+ flat/low-profile objects, PC12 wheeled vehicles. *(Paper, Table 8.)*
125
+
126
+ **Gradient descent independently discovers the theorem's decomposition.**
127
+
128
+ ---
129
+
130
+ ## The Stack
131
+
132
+ All 17 modules in `src/waverider`, by layer. Full per-component detail lives in
133
+ the **[stack summary](docs/waverider/waverider_stack_summary.md)**; worked code
134
+ examples in **[docs/USAGE.md](docs/USAGE.md)**.
135
+
136
+ | Layer | Modules | What it does |
137
+ |-------|---------|--------------|
138
+ | **Core geometry** | `TurtleND`, `Turtle3D`, `Vector3D`, `ManifoldWalker`, `ManifoldAdamWalker`, `ManifoldModel`, `ManifoldObserver` | Navigation primitives (N-dim position + orthonormal frame), Riemannian gradient descent with tangent-space Adam momentum, the zero-parameter classifier, and the (N+1)-dim extrinsic observer |
139
+ | **Dimensionality & embedding** | `discover_dimensionality`, `UniversalEmbedder`, `GeodesicEncoder`, `ManifoldAdam` | Local-PCA measurement of d\* (the primitive behind every benchmark), sklearn-PCA-compatible reduction to d\* coordinates, geodesic encoding, and a Keras optimizer that zeroes gradient noise dimensions (distinct from `ManifoldAdamWalker`) |
140
+ | **Domain applications** | `BackboneResidue`/`BackboneEmbedder`/`fit_backbone_manifold`, `KnowledgeGraph` | Protein backbone (φ, ψ, ω) latent-space discovery; semantic reasoning over knowledge graphs (module `graph_reasoner` — its entry point is `KnowledgeGraph`) |
141
+ | **Rendering** | `voxel_viz`, `lfd`, `hld` | Interactive 3-D voxel slicing, Looking Glass light-field quilts, and Hololuminescent 4K video — see [Visualization](#visualization--holographic-output) below |
142
+
143
+ ---
144
+
145
+ ## Getting Started
146
+
147
+ **Requirements:** Python 3.12
148
+
149
+ ```bash
150
+ git clone https://github.com/Flux-Frontiers/waverider.git
151
+ cd waverider
152
+ poetry install # core
153
+ poetry install --with viz # + PyVista visualization & holographic output
154
+ poetry install --with benchmarks # + TensorFlow (Metal GPU on Apple Silicon)
155
+ poetry install --with viz,benchmarks # everything
156
+ ```
157
+
158
+ As a dependency: `poetry add git+https://github.com/Flux-Frontiers/waverider.git`
159
+ (or `pip install git+…`).
160
+
161
+ Complete code examples for every component: **[docs/USAGE.md](docs/USAGE.md)**.
162
+ The full documentation map is **[docs/INDEX.md](docs/INDEX.md)**; code lives in
163
+ `src/waverider/`, locked benchmarks in `benchmarks/canonical_tests/`, and papers
164
+ in `papers/`.
165
+
166
+ ---
167
+
168
+ ## Visualization & Holographic Output
169
+
170
+ ### Looking Glass holographic displays — new in v0.10.0
171
+
172
+ **WaveRider renders any PyVista scene to real
173
+ [Looking Glass](https://lookingglassfactory.com/) holographic hardware**,
174
+ validated end-to-end on a physical Gen3 16″ panel. Both device families are
175
+ supported — they take different media, so render for the display you own:
176
+
177
+ - **`waverider.lfd` —
178
+ [light-field quilts](https://lfdocs.lookingglassfactory.com/keyconcepts/quilts).**
179
+ Off-axis asymmetric-frustum view sweep tiled into a quilt; 9 official device
180
+ presets (Portrait, Go, 16″–65″), stills, MP4, and **live casting** to a
181
+ connected display via
182
+ [Looking Glass Bridge](https://lookingglassfactory.com/software/looking-glass-bridge).
183
+ → [docs/waverider/lfd.md](docs/waverider/lfd.md)
184
+ - **`waverider.hld` —
185
+ [Hololuminescent video](https://hlddocs.lookingglassfactory.com/resources/media-specs-and-encoding).**
186
+ 4K turntable masters to the official spec (3840×2160, HEVC, bt709); white
187
+ renders invisible, so the subject floats.
188
+ → [docs/waverider/hld.md](docs/waverider/hld.md)
189
+
190
+ ```bash
191
+ waverider-voxel-viz --dataset iris --quilt portrait --out iris --cast # light-field, live cast
192
+ waverider-voxel-viz --dataset iris --hld --out iris # HLD video
193
+ ```
194
+
195
+ ### Voxel Visualizer
196
+
197
+ `waverider-voxel-viz` makes high-dimensional manifolds visible: the
198
+ `ManifoldObserver`'s scalar fields (curvature, height, local intrinsic
199
+ dimensionality, …) are projected into a 3-D PCA subspace, voxelised, and served
200
+ as interactive orthogonal slice planes in PyVista. A CT/MRI demo mode
201
+ (`--ct-demo`) renders real biomedical volumes with no model fitting — and both
202
+ modes output straight to the holographic paths above.
203
+
204
+ ![Manifold Voxel Visualizer — pipeline, scalar fields, datasets, controls](docs/waverider/manifold_voxel_viz.png)
205
+
206
+ ```bash
207
+ waverider-voxel-viz --dataset iris --multi-scalar # manifold mode, all fields
208
+ waverider-voxel-viz --ct-demo # T1 MRI brain, interactive
209
+ waverider-voxel-viz --ct-demo --ct-dataset brain --hld --out brain_hld # MRI → HLD video
210
+ waverider-voxel-viz --ct-demo --ct-dataset brain --quilt portrait --out brain --cast # MRI → light-field
211
+ ```
212
+
213
+ - **Full CLI + API reference** (all datasets, scalar fields, flags): [docs/waverider/voxel_viz.md](docs/waverider/voxel_viz.md)
214
+ - **Worked examples:** [docs/USAGE.md](docs/USAGE.md#manifold-voxel-visualizer--interactive-3-d-manifold-anatomy) · **Method paper:** [papers/voxel_viz/voxel_viz.pdf](papers/voxel_viz/voxel_viz.pdf)
215
+
216
+ ---
217
+
218
+ ## Method
219
+
220
+ Gradient-diversity PCA finds the tangent space of the loss manifold: decompose
221
+ the covariance of mini-batch gradients, and the top-d eigenvectors span the
222
+ gradient's active subspace while the remaining P−d point into noise. Every
223
+ update is then projected onto that subspace before Adam sees it — momentum
224
+ accumulates signal, never noise, and its state lives in global R^P so nothing
225
+ is lost when the PCA basis rotates. The eigenvalue weighting is a form of
226
+ natural gradient using the data covariance as an empirical Fisher matrix
227
+ (Amari, 1998).
228
+
229
+ Full derivations, the projected-step algorithm, and the ambient-space failure
230
+ modes (noise-inflated KNN distances, noise-adapted Adam denominators) are in
231
+ the **[technical paper](papers/waverider_article/waverider_jmlr.pdf)** and the
232
+ **[ManifoldWalker spec](docs/manifold_walker_spec/manifold_walker_spec.md)**.
233
+
234
+ ---
235
+
236
+ ## Benchmarks
237
+
238
+ Every benchmark in `benchmarks/canonical_tests/` is a standalone script, run
239
+ directly with Python:
240
+
241
+ ```bash
242
+ python benchmarks/canonical_tests/cifar10_manifold_architecture.py # per-dataset (cifar100, mnist, tiny_imagenet, digits, iris likewise)
243
+ python benchmarks/canonical_tests/clinical/disease_manifold_architecture.py # all clinical datasets
244
+ python benchmarks/canonical_tests/mnist_ub_phase_boundary.py # Universal Bottleneck phase boundary
245
+ ```
246
+
247
+ Seed-locked results (seeds 42–51, 3–10 trials) are committed as JSON alongside
248
+ each script — the locked numbers cited in the papers. Each benchmark ships a
249
+ rendered report (`*_report.md` / `.tex` / `.pdf`) generated from its JSON by
250
+ `report_generator.py`. Full report index: **[docs/INDEX.md](docs/INDEX.md)**;
251
+ all results tables and provenance notes: **[docs/RESULTS.md](docs/RESULTS.md)**.
252
+
253
+ ---
254
+
255
+ ## References
256
+
257
+ - Bengio, Y. et al. (2013). *Representation Learning: A Review and New Perspectives.* TPAMI.
258
+ - Gur-Ari, G. et al. (2018). *Gradient Descent Happens in a Tiny Subspace.* arXiv:1812.04754.
259
+ - Ghorbani, B. et al. (2019). *An Investigation into Neural Net Optimization via Hessian Eigenvalue Density.* ICML.
260
+ - Amari, S. (1998). *Natural Gradient Works Efficiently in Learning.* Neural Computation.
261
+ - Kingma, D. & Ba, J. (2015). *Adam: A Method for Stochastic Optimization.* ICLR.
262
+
263
+ ---
264
+
265
+ ## Citation
266
+
267
+ If you use WaveRider in your research or project, please cite it. Citation metadata is also provided machine-readably in [CITATION.cff](CITATION.cff).
268
+
269
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20383651.svg)](https://doi.org/10.5281/zenodo.20383651)
270
+
271
+ > Suchanek, E. G. (2026). *WaveRider: Manifold-Aware Geometric Machine Learning* (Version 0.13.0) [Software]. Flux-Frontiers. https://doi.org/10.5281/zenodo.20383651
272
+
273
+ ```bibtex
274
+ @software{suchanek_waverider,
275
+ author = {Suchanek, Eric G.},
276
+ title = {{WaveRider}: Manifold-Aware Geometric Machine Learning},
277
+ version = {0.13.0},
278
+ year = {2026},
279
+ publisher = {Flux-Frontiers},
280
+ url = {https://github.com/Flux-Frontiers/waverider},
281
+ doi = {10.5281/zenodo.20383651}
282
+ }
283
+ ```
284
+
285
+ ---
286
+
287
+ ## License
288
+
289
+ [Elastic License 2.0 (ELv2)](https://www.elastic.co/licensing/elastic-license) — see [LICENSE](LICENSE).
290
+
291
+ Free to use, modify, and distribute. May not be offered as a hosted or managed service to third parties.
292
+
293
+ ---
294
+
295
+ *[Looking Glass](https://lookingglassfactory.com/) is a trademark of Looking Glass Factory, Inc. WaveRider is an independent project; its author is a customer and user of Looking Glass hardware, not affiliated with, sponsored by, or endorsed by Looking Glass Factory.*
296
+
@@ -0,0 +1,265 @@
1
+ [![Python](https://img.shields.io/badge/python-3.12-blue.svg)](https://www.python.org/)
2
+ [![License: Elastic-2.0](https://img.shields.io/badge/License-Elastic%202.0-blue.svg)](https://www.elastic.co/licensing/elastic-license)
3
+ [![Version](https://img.shields.io/badge/version-0.13.0-blue.svg)](https://github.com/Flux-Frontiers/waverider/releases)
4
+ [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
5
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20383651.svg)](https://doi.org/10.5281/zenodo.20383651)
6
+
7
+
8
+ # WaveRider
9
+
10
+ **The geometry of your data tells you the exact size of network you need. Most of what your model is computing is noise.**
11
+
12
+ *Eric G. Suchanek, PhD — Flux-Frontiers*
13
+
14
+ [Technical Paper (PDF)](papers/waverider_article/waverider_jmlr.pdf)
15
+
16
+ ---
17
+
18
+ ## 📡 Breaking News — WaveRider renders to holographic displays
19
+
20
+ **As of v0.10.0, any WaveRider scene can be pushed to real
21
+ [Looking Glass](https://lookingglassfactory.com/) holographic hardware.**
22
+ Two device families are supported, and they take different media — render
23
+ for the display you own:
24
+
25
+ - **[Light-field quilts](https://lfdocs.lookingglassfactory.com/keyconcepts/quilts)**
26
+ — `waverider.lfd`, 9 device presets, stills, MP4, and live casting via
27
+ [Looking Glass Bridge](https://lookingglassfactory.com/software/looking-glass-bridge)
28
+ → **[docs/waverider/lfd.md](docs/waverider/lfd.md)**
29
+ - **[Hololuminescent video](https://hlddocs.lookingglassfactory.com/)** —
30
+ `waverider.hld`, 4K turntable masters to the official spec →
31
+ **[docs/waverider/hld.md](docs/waverider/hld.md)**
32
+ - **CT / MRI demo mode** — real biomedical volumes, no model fitting
33
+ → **[docs/waverider/voxel_viz.md](docs/waverider/voxel_viz.md)**
34
+
35
+ ```bash
36
+ waverider-voxel-viz --dataset iris --quilt portrait --out iris --cast # light-field, live cast
37
+ waverider-voxel-viz --dataset iris --hld --out iris # HLD video
38
+ waverider-voxel-viz --ct-demo --ct-dataset brain --hld --out brain_hld # MRI brain → HLD
39
+ ```
40
+
41
+ Needs the viz extras (`poetry install --with viz`); `--quilt` and `--hld` are
42
+ mutually exclusive.
43
+
44
+ ---
45
+
46
+ ## The Core Finding
47
+
48
+ Machine learning spaces are **99% noise** by dimension. CIFAR-10 images live in a 34-dimensional manifold inside a 3,072-dimensional ambient space. Tiny ImageNet: 20 intrinsic dimensions inside 12,288. Standard algorithms treat every dimension equally — spending 99%+ of their compute on dimensions that carry no signal, while momentum, distance metrics, and gradient updates are polluted by that noise.
49
+
50
+ WaveRider measures the actual geometry, builds models constrained to the signal manifold, and derives a closed-form formula for optimal network width from first principles:
51
+
52
+ > **w\* = d\* + C − 1**
53
+
54
+ Measure the intrinsic dimensionality d\*. Count the classes C. That's your optimal bottleneck width. No grid search. No hyperparameter sweep.
55
+
56
+ ---
57
+
58
+ ## Headline Results
59
+
60
+ ### Universal Bottleneck — formula-derived architectures beat ResNet
61
+
62
+ | Dataset | d\* | C | w\* = d\*+C−1 | ManifoldResNet-UB+Drop | Accuracy | vs ResNet-32 | Δ |
63
+ |---------|-----|---|--------------|------------------------|----------|-------------|---|
64
+ | [**CIFAR-10**](benchmarks/canonical_tests/cifar10_report.md) | 19 | 10 | 28 | 36,942 params | **71.83% ± 0.60%** | 47,978 params → 63.26% ± 3.09% | **+8.57 pp, 23% fewer params** |
65
+ | [**Fashion-MNIST**](benchmarks/canonical_tests/mnist_report.md) | 18 | 10 | 27 | 33,868 params | **88.38% ± 0.37%** | 47,338 params → 82.85% ± 2.60% | **+5.53 pp, 28% fewer params** |
66
+ | [**MNIST**](benchmarks/canonical_tests/mnist_report.md) | 16 | 10 | 25 | 29,110 params | **98.98% ± 0.21%** | 47,338 params → 99.27% ± 0.13% | within 0.3 pp, 38% fewer params |
67
+ | [**CIFAR-100**](benchmarks/canonical_tests/cifar100_report.md) | 19 | 100 | 118 | 644,262 params | **38.3% ± 3.8%** | 50,948 params → 37.6% ± 0.9% | +0.7 pp |
68
+
69
+ *UB+Drop = w\* filters with dropout=0.3 — dropout is the regularizer that lets the formula-derived width generalize.*
70
+
71
+ Two more results families, in **[docs/RESULTS.md](docs/RESULTS.md)** with full tables and provenance notes:
72
+
73
+ - **Zero-parameter classifiers** — `ManifoldModel` beats a trained MLP on Heart Disease (**83.82% vs 80.96%**) and stays within 1 pp on Breast Cancer and Dermatology, with **zero trained parameters**.
74
+ - **Parameter efficiency** — manifold-constrained models match or beat dense baselines with **105×–724×** fewer parameters (MNIST, CIFAR-10) and beat them outright on Tiny ImageNet and CIFAR-100.
75
+
76
+ All benchmark reports are indexed in **[docs/INDEX.md](docs/INDEX.md)**; every figure traces to a results JSON committed beside its script.
77
+
78
+ ---
79
+
80
+ ## The Dimension Probe
81
+
82
+ When a network is given a bottleneck of exactly w\* = d\* + C − 1 neurons, it
83
+ **spontaneously partitions** that space — with zero instruction — into a geometry
84
+ subspace plus exactly C−1 class-separation coordinates, and the two together
85
+ recover d\* precisely.
86
+
87
+ On CIFAR-10 (d\*=16, C=10, w\*=25), PCA on the w\*-dimensional bottleneck yields
88
+ k₉₀ = 7 geometry components (the on-manifold subspace, Whitney bound) and
89
+ n_extra = 9 class-separation coordinates. Both identities hold exactly:
90
+
91
+ > **k₉₀ + n_extra = 7 + 9 = 16 = d\*** and **n_extra = 9 = C − 1**
92
+
93
+ The semantic content is interpretable: PC11 selects four-legged animals, PC9
94
+ flat/low-profile objects, PC12 wheeled vehicles. *(Paper, Table 8.)*
95
+
96
+ **Gradient descent independently discovers the theorem's decomposition.**
97
+
98
+ ---
99
+
100
+ ## The Stack
101
+
102
+ All 17 modules in `src/waverider`, by layer. Full per-component detail lives in
103
+ the **[stack summary](docs/waverider/waverider_stack_summary.md)**; worked code
104
+ examples in **[docs/USAGE.md](docs/USAGE.md)**.
105
+
106
+ | Layer | Modules | What it does |
107
+ |-------|---------|--------------|
108
+ | **Core geometry** | `TurtleND`, `Turtle3D`, `Vector3D`, `ManifoldWalker`, `ManifoldAdamWalker`, `ManifoldModel`, `ManifoldObserver` | Navigation primitives (N-dim position + orthonormal frame), Riemannian gradient descent with tangent-space Adam momentum, the zero-parameter classifier, and the (N+1)-dim extrinsic observer |
109
+ | **Dimensionality & embedding** | `discover_dimensionality`, `UniversalEmbedder`, `GeodesicEncoder`, `ManifoldAdam` | Local-PCA measurement of d\* (the primitive behind every benchmark), sklearn-PCA-compatible reduction to d\* coordinates, geodesic encoding, and a Keras optimizer that zeroes gradient noise dimensions (distinct from `ManifoldAdamWalker`) |
110
+ | **Domain applications** | `BackboneResidue`/`BackboneEmbedder`/`fit_backbone_manifold`, `KnowledgeGraph` | Protein backbone (φ, ψ, ω) latent-space discovery; semantic reasoning over knowledge graphs (module `graph_reasoner` — its entry point is `KnowledgeGraph`) |
111
+ | **Rendering** | `voxel_viz`, `lfd`, `hld` | Interactive 3-D voxel slicing, Looking Glass light-field quilts, and Hololuminescent 4K video — see [Visualization](#visualization--holographic-output) below |
112
+
113
+ ---
114
+
115
+ ## Getting Started
116
+
117
+ **Requirements:** Python 3.12
118
+
119
+ ```bash
120
+ git clone https://github.com/Flux-Frontiers/waverider.git
121
+ cd waverider
122
+ poetry install # core
123
+ poetry install --with viz # + PyVista visualization & holographic output
124
+ poetry install --with benchmarks # + TensorFlow (Metal GPU on Apple Silicon)
125
+ poetry install --with viz,benchmarks # everything
126
+ ```
127
+
128
+ As a dependency: `poetry add git+https://github.com/Flux-Frontiers/waverider.git`
129
+ (or `pip install git+…`).
130
+
131
+ Complete code examples for every component: **[docs/USAGE.md](docs/USAGE.md)**.
132
+ The full documentation map is **[docs/INDEX.md](docs/INDEX.md)**; code lives in
133
+ `src/waverider/`, locked benchmarks in `benchmarks/canonical_tests/`, and papers
134
+ in `papers/`.
135
+
136
+ ---
137
+
138
+ ## Visualization & Holographic Output
139
+
140
+ ### Looking Glass holographic displays — new in v0.10.0
141
+
142
+ **WaveRider renders any PyVista scene to real
143
+ [Looking Glass](https://lookingglassfactory.com/) holographic hardware**,
144
+ validated end-to-end on a physical Gen3 16″ panel. Both device families are
145
+ supported — they take different media, so render for the display you own:
146
+
147
+ - **`waverider.lfd` —
148
+ [light-field quilts](https://lfdocs.lookingglassfactory.com/keyconcepts/quilts).**
149
+ Off-axis asymmetric-frustum view sweep tiled into a quilt; 9 official device
150
+ presets (Portrait, Go, 16″–65″), stills, MP4, and **live casting** to a
151
+ connected display via
152
+ [Looking Glass Bridge](https://lookingglassfactory.com/software/looking-glass-bridge).
153
+ → [docs/waverider/lfd.md](docs/waverider/lfd.md)
154
+ - **`waverider.hld` —
155
+ [Hololuminescent video](https://hlddocs.lookingglassfactory.com/resources/media-specs-and-encoding).**
156
+ 4K turntable masters to the official spec (3840×2160, HEVC, bt709); white
157
+ renders invisible, so the subject floats.
158
+ → [docs/waverider/hld.md](docs/waverider/hld.md)
159
+
160
+ ```bash
161
+ waverider-voxel-viz --dataset iris --quilt portrait --out iris --cast # light-field, live cast
162
+ waverider-voxel-viz --dataset iris --hld --out iris # HLD video
163
+ ```
164
+
165
+ ### Voxel Visualizer
166
+
167
+ `waverider-voxel-viz` makes high-dimensional manifolds visible: the
168
+ `ManifoldObserver`'s scalar fields (curvature, height, local intrinsic
169
+ dimensionality, …) are projected into a 3-D PCA subspace, voxelised, and served
170
+ as interactive orthogonal slice planes in PyVista. A CT/MRI demo mode
171
+ (`--ct-demo`) renders real biomedical volumes with no model fitting — and both
172
+ modes output straight to the holographic paths above.
173
+
174
+ ![Manifold Voxel Visualizer — pipeline, scalar fields, datasets, controls](docs/waverider/manifold_voxel_viz.png)
175
+
176
+ ```bash
177
+ waverider-voxel-viz --dataset iris --multi-scalar # manifold mode, all fields
178
+ waverider-voxel-viz --ct-demo # T1 MRI brain, interactive
179
+ waverider-voxel-viz --ct-demo --ct-dataset brain --hld --out brain_hld # MRI → HLD video
180
+ waverider-voxel-viz --ct-demo --ct-dataset brain --quilt portrait --out brain --cast # MRI → light-field
181
+ ```
182
+
183
+ - **Full CLI + API reference** (all datasets, scalar fields, flags): [docs/waverider/voxel_viz.md](docs/waverider/voxel_viz.md)
184
+ - **Worked examples:** [docs/USAGE.md](docs/USAGE.md#manifold-voxel-visualizer--interactive-3-d-manifold-anatomy) · **Method paper:** [papers/voxel_viz/voxel_viz.pdf](papers/voxel_viz/voxel_viz.pdf)
185
+
186
+ ---
187
+
188
+ ## Method
189
+
190
+ Gradient-diversity PCA finds the tangent space of the loss manifold: decompose
191
+ the covariance of mini-batch gradients, and the top-d eigenvectors span the
192
+ gradient's active subspace while the remaining P−d point into noise. Every
193
+ update is then projected onto that subspace before Adam sees it — momentum
194
+ accumulates signal, never noise, and its state lives in global R^P so nothing
195
+ is lost when the PCA basis rotates. The eigenvalue weighting is a form of
196
+ natural gradient using the data covariance as an empirical Fisher matrix
197
+ (Amari, 1998).
198
+
199
+ Full derivations, the projected-step algorithm, and the ambient-space failure
200
+ modes (noise-inflated KNN distances, noise-adapted Adam denominators) are in
201
+ the **[technical paper](papers/waverider_article/waverider_jmlr.pdf)** and the
202
+ **[ManifoldWalker spec](docs/manifold_walker_spec/manifold_walker_spec.md)**.
203
+
204
+ ---
205
+
206
+ ## Benchmarks
207
+
208
+ Every benchmark in `benchmarks/canonical_tests/` is a standalone script, run
209
+ directly with Python:
210
+
211
+ ```bash
212
+ python benchmarks/canonical_tests/cifar10_manifold_architecture.py # per-dataset (cifar100, mnist, tiny_imagenet, digits, iris likewise)
213
+ python benchmarks/canonical_tests/clinical/disease_manifold_architecture.py # all clinical datasets
214
+ python benchmarks/canonical_tests/mnist_ub_phase_boundary.py # Universal Bottleneck phase boundary
215
+ ```
216
+
217
+ Seed-locked results (seeds 42–51, 3–10 trials) are committed as JSON alongside
218
+ each script — the locked numbers cited in the papers. Each benchmark ships a
219
+ rendered report (`*_report.md` / `.tex` / `.pdf`) generated from its JSON by
220
+ `report_generator.py`. Full report index: **[docs/INDEX.md](docs/INDEX.md)**;
221
+ all results tables and provenance notes: **[docs/RESULTS.md](docs/RESULTS.md)**.
222
+
223
+ ---
224
+
225
+ ## References
226
+
227
+ - Bengio, Y. et al. (2013). *Representation Learning: A Review and New Perspectives.* TPAMI.
228
+ - Gur-Ari, G. et al. (2018). *Gradient Descent Happens in a Tiny Subspace.* arXiv:1812.04754.
229
+ - Ghorbani, B. et al. (2019). *An Investigation into Neural Net Optimization via Hessian Eigenvalue Density.* ICML.
230
+ - Amari, S. (1998). *Natural Gradient Works Efficiently in Learning.* Neural Computation.
231
+ - Kingma, D. & Ba, J. (2015). *Adam: A Method for Stochastic Optimization.* ICLR.
232
+
233
+ ---
234
+
235
+ ## Citation
236
+
237
+ If you use WaveRider in your research or project, please cite it. Citation metadata is also provided machine-readably in [CITATION.cff](CITATION.cff).
238
+
239
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20383651.svg)](https://doi.org/10.5281/zenodo.20383651)
240
+
241
+ > Suchanek, E. G. (2026). *WaveRider: Manifold-Aware Geometric Machine Learning* (Version 0.13.0) [Software]. Flux-Frontiers. https://doi.org/10.5281/zenodo.20383651
242
+
243
+ ```bibtex
244
+ @software{suchanek_waverider,
245
+ author = {Suchanek, Eric G.},
246
+ title = {{WaveRider}: Manifold-Aware Geometric Machine Learning},
247
+ version = {0.13.0},
248
+ year = {2026},
249
+ publisher = {Flux-Frontiers},
250
+ url = {https://github.com/Flux-Frontiers/waverider},
251
+ doi = {10.5281/zenodo.20383651}
252
+ }
253
+ ```
254
+
255
+ ---
256
+
257
+ ## License
258
+
259
+ [Elastic License 2.0 (ELv2)](https://www.elastic.co/licensing/elastic-license) — see [LICENSE](LICENSE).
260
+
261
+ Free to use, modify, and distribute. May not be offered as a hosted or managed service to third parties.
262
+
263
+ ---
264
+
265
+ *[Looking Glass](https://lookingglassfactory.com/) is a trademark of Looking Glass Factory, Inc. WaveRider is an independent project; its author is a customer and user of Looking Glass hardware, not affiliated with, sponsored by, or endorsed by Looking Glass Factory.*