nomogeo Observer-geometry kernel
Python Kernel - Exact Geometry - Information Conservation - Observer Steering

Exact observer geometry for real data.

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.

Python >= 3.11 BSD-3-Clause PyPI Minimal dependencies
Overview

What the package includes

Core geometry

Visible precision and information conservation

Exact split-frame geometry: visible precision, canonical lift, and the conservation law vis + hid = amb, verified to machine precision.

Observer steering

From data to adapted observer in one call

Pass (X, y) or a covariance matrix. Get the adapted observer, capture curve, exact-sector diagnostics, and comparison against PCA.

Companion packages

Model comparison and subspace selection

nomocomp replaces AIC/BIC with exact geometry. nomoselect replaces PCA with task-aware selection.

Quick Example
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}")
Examples

Released examples

Released examples and companion packages. Each has clear scope and declared boundaries.

nomogeo

Observer steering on Iris

One call to steer(): extract geometry, find the adapted observer, compare against PCA, report diagnostics.

Browse examples
nomocomp

AIC/BIC reversal on collinear data

When predictors are correlated, AIC and BIC pick the wrong model. The geometric correction identifies the right one.

Learn more
nomoselect

Task-aware beats PCA on Wine

PCA ignores class labels. The task-aware observer captures class structure that PCA misses entirely.

Learn more
Conservation law

The observer splits information, never creates it.

The 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.

Honest boundary

The exact domain is finite-dimensional SPD geometry.

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.