Add DynamicSVD demo notebook (Fisher-information validation)#116
Open
cweniger wants to merge 1 commit into
Open
Add DynamicSVD demo notebook (Fisher-information validation)#116cweniger wants to merge 1 commit into
cweniger wants to merge 1 commit into
Conversation
Idealized, self-contained demonstration of falcon.embeddings.DynamicSVD (n=100 bins, 4-parameter models, exact autograd Fisher ground truth): 1. Basics — linear model, white noise: variance ranking finds the informative subspace; compression to 8 components is lossless. 2. How many components? — non-linear bump model: information ratio vs k as a function of prior width, multi-fiducial adequacy, scree plot with noise floor, Wiener shrinkage (conditioning, not information), and the hard-coded unit-noise-floor limitation (#113). 3. Streaming & Procrustes — continuous prior narrowing; raw index-ordered basis vs stabilized frame (sign flips/swaps vs smooth drift), basis-jump trace, fixed-observation coefficient trace. 4. Colored noise — PSD-sampled Toeplitz noise degrades the embedding; ToeplitzWhitener restores Fisher ellipses and the flat noise floor. The notebook is paired with a py:percent script via jupytext (notebooks/jupytext.toml); the .py file is the reviewable source of truth, the .ipynb is what GitHub renders and Colab opens (badge + self-bootstrap cell included). Outputs not yet committed; CI execution and docs rendering are tracked in #114. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KUwdQQh7Vr9ArkBE9ahZGG
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #116 +/- ##
=======================================
Coverage 10.33% 10.33%
=======================================
Files 30 30
Lines 3927 3927
=======================================
Hits 406 406
Misses 3521 3521
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the notebook part of #114.
What
A new
notebooks/directory with an idealized, self-contained demo offalcon.embeddings.DynamicSVD— n = 100 data bins, 4-parameter models, exact Fisher-information ground truth from autograd (F = Jᵀ C⁻¹ J), no falcon runs and no estimator training. Four sections, each isolating one capability:reconstruct(). Ends with the σ = 10 case exposing the hard-coded noise floor (DynamicSVD shrinkage assumes unit noise floor; shrinkage=False also disables normalization #113).ToeplitzWhitenerrestores both.Infrastructure
notebooks/jupytext.tomlpairs every notebook in the directory asipynb,py:percent. The.pyfile is the reviewable source of truth; the.ipynbis what GitHub renders and Colab opens.Not in this PR (deliberately)
.ipynbhas no outputs yet — it has not been executed. CI execution (nbmake), docs rendering (mkdocs-jupyter), and refreshing the stored outputs are tracked in Demo notebook for DynamicSVD (Fisher-information validation) + notebook CI/docs/Colab infrastructure #114.🤖 Generated with Claude Code
https://claude.ai/code/session_01KUwdQQh7Vr9ArkBE9ahZGG