Visible precision and information conservation
Exact split-frame geometry: visible precision, canonical lift, and the conservation law vis + hid = amb, verified to machine precision.
nomogeo computes what an observer can and cannot see about a system. Given a precision matrix and an observer, it returns exact information budgets, adapted observers, and certified diagnostics. Two companion packages, nomocomp and nomoselect, apply this to model comparison and dimensionality reduction.
Exact split-frame geometry: visible precision, canonical lift, and the conservation law vis + hid = amb, verified to machine precision.
Pass (X, y) or a covariance matrix. Get the adapted observer, capture curve, exact-sector diagnostics, and comparison against PCA.
nomocomp replaces AIC/BIC with exact geometry. nomoselect replaces PCA with task-aware selection.
import numpy as np
from nomogeo import information_budget, steer
# Information budget: where does the information go?
H = np.array([[3.0, 1.0], [1.0, 2.0]])
C = np.array([[1.0, 0.0]])
Hdot = np.array([[0.1, -0.2], [-0.2, 0.3]])
b = information_budget(H, C, Hdot)
print(f"vis={b.visible_rate:.3f} hid={b.hidden_rate:.3f}")
# One-call steering from data
from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
r = steer(X=X, y=y, rank=2, task="fisher")
print(f"vis_frac={r.visible_fraction:.2f} vs PCA: +{r.advantage_over_pca:.2f}")
Released examples and companion packages. Each has clear scope and declared boundaries.
One call to steer(): extract geometry, find the adapted observer, compare against PCA, report diagnostics.
When predictors are correlated, AIC and BIC pick the wrong model. The geometric correction identifies the right one.
Learn morePCA ignores class labels. The task-aware observer captures class structure that PCA misses entirely.
Learn moreThe visible rate plus the hidden rate always equals the ambient rate. This is an exact algebraic identity, verified to machine precision on every tested configuration.
nomogeo is exact for linear observers on symmetric positive-definite matrices. It is not a generic non-Gaussian engine. Outside the exact sector, it provides local quadratic geometry.