API reference
Every public symbol the library exposes. Generated from docstrings via mkdocstrings.
Top-level
The flat surface re-exported by igl:
- Configuration —
EncoderConfig,KernelConfig,MatryoshkaConfig,IGLConfig. - Building blocks —
MLPEncoder,LinearEncoder,GreenKernel,IGLModule. - Training —
MatryoshkaTrainer,TrainingHistory,CrossEntropyLoss,MSELoss,direct_solve_weights,normalize_phi. - Matryoshka & dimension discovery —
UniformSampler,PowerLawSampler,eval_dimension_curve,detect_elbow,d_eff_from_curve,compare_d_eff,DimensionComparison. - Kernel registry —
Operator,register_operator,get_operator,list_operators. - sklearn estimators —
IGLClassifier,IGLRegressor,IGLAutoencoder. - Types & enums —
OperatorName,SamplingMode,NormalizeMode,NormType,ActivationType,EncoderKind,SchedulerType,LossStrategy,MatryoshkaSampler,OperatorFn,EncoderProtocol. - Exceptions —
IGLError,IGLConfigError,IGLConvergenceError,IGLDependencyError,IGLNotFittedError.
Subpackages
igl.core— encoder, kernel, solver, trainer, losses.igl.kernels— operator zoo + registration API.igl.matryoshka— samplers + dimension curve helpers.igl.models— sklearn-compatible estimators.igl.metrics— cross-taskd_effcomparison + elbow detectors.igl.nn— bare PyTorchIGLModule.igl.spd— Riemannian extension (AIRM, log-Eig, orthogonality, reconstruction).igl.data— synthetic data generators.igl.viz— optional matplotlib helpers.
Source layout
src/igl/
├── __init__.py # flat public surface
├── config.py # frozen dataclasses
├── exceptions.py # IGLError + subclasses
├── types.py # Protocols + StrEnums + Literal companions
├── core/ # encoder, kernel, solver, trainer, losses, normalization
├── kernels/ # 9 log-space operators + registry
├── matryoshka/ # samplers + dimension curve
├── models/ # sklearn estimators
├── metrics/ # d_eff comparison + elbow detectors
├── nn/ # IGLModule
├── spd/ # AIRM + log-Eig + orthogonality + reconstruction
├── data/ # synthetic generators
└── viz/ # matplotlib helpers (gated behind [viz])