Intrinsic Green Learning
You have high-dimensional inputs — pixel grids, EEG channels, embedding vectors — and a model that probably needs far fewer dimensions than the data suggests. IGL discovers how many dimensions your task actually needs while it trains: no separate "dimensionality reduction" step, no fixed bottleneck, the answer falls out of fitting.
Technically: IGL pairs a learned encoder with a multi-scale Green's- function kernel and trains the system end-to-end via Variable Projection with random Matryoshka truncation. The model fits the task and simultaneously reveals the effective dimension — usually far fewer than the ambient input.
Why IGL?
For the same input data, a classifier usually needs fewer latent dimensions than a regressor, which in turn needs fewer than a full autoencoder. IGL discovers this hierarchy automatically:
The library makes this measurable: every fitted estimator carries a
dimension_curve_ attribute and an effective_dimension_ integer, and
igl.compare_d_eff verifies the ordering across
tasks.
Getting started
- Quickstart — install, import, fit your first model.
- Concepts — the math behind the library: encoder, Green kernel, Matryoshka truncation, effective dimension.
- API reference — every public symbol.
- Guidelines — development conventions.
- Security — supply-chain posture (OIDC, sigstore attestations, signed checksums).
Status
Pre-release. The public API is stable from 0.1.0 onward; everything in
igl.contrib (when populated) carries a weaker stability promise. v0.1
ships the four sklearn estimators (IGLClassifier,
IGLRegressor, IGLAutoencoder,
IGLReconSPDClassifier), the bare
IGLModule for custom training loops, and the SPD
extension (igl.spd).