Skip to content

v0.9.0

Choose a tag to compare

@tjkessler tjkessler released this 30 Jul 22:59
· 88 commits to main since this release
3c20ade

KoopmanGraph 0.9.0

Opt-in heterogeneous / multiplex graph Koopman operators and RelGraph encode/decode, composed with the 0.8 trainer adapters. Homogeneous defaults unchanged.

Added

  • HeteroGraphSnapshotSequence and typed stacked latent layout helpers (koopman_graph.data.hetero_layout) for PyG HeteroData multiplex / multi-node-type sequences at a shared latent width (d).
  • R-GCN-lite RelGraphEncoder / RelGraphDecoder and HeteroGraphKoopmanOperator via factory koopman="hetero_graph" ((K_{\mathrm{eff}} = I\otimes K_{\mathrm{self}} + \sum_r \widehat{A}_r \otimes K_r); optional relation_tying="basis").
  • Optional HGTEncoder / HGTDecoder under koopman_graph.nn (PyG HGTConv; not factory defaults).
  • Hetero composition with native DDP (strategy="ddp"), Lightning Fabric, optional Lightning Trainer, and Ray ensemble helpers; exposed find_unused_parameters (default True for RelGraph hetero stacks).
  • Interpretive attribute_mode_energy / ModeEnergyAttribution in koopman_graph.analysis.
  • Typed IEEE-118 topology helpers and tutorial examples/39_heterogeneous_relational_koopman.ipynb.
  • Sphinx: limitations / FAQ / capabilities / architecture / API updates for hetero and trainer composition.

Notes

  • Dense (N\cdot d) spectrum / inverse ceilings are unchanged by multi-GPU trainer orchestration. Do not confuse trainers with the unimplemented operator flag sparsity="distributed".
  • Factor-wise Schur / Lyapunov / dissipative modes do not certify (\rho(K_{\mathrm{eff}})). Relational factorization must earn its keep in ablations (negative results allowed).
  • Deferred: per-type (d_\tau), auto reverse relations, continuous hetero operators, env / conformal / hierarchical hetero parity, joint structural certificates.

See CHANGELOG.md for the full entry.