Skip to content

Add spectral reconstruction from sequences to ε-machines - #6

Merged
Autoplectic merged 1 commit into
mainfrom
spectral-epsilon-from-sequence
Aug 13, 2026
Merged

Add spectral reconstruction from sequences to ε-machines#6
Autoplectic merged 1 commit into
mainfrom
spectral-epsilon-from-sequence

Conversation

@Autoplectic

Copy link
Copy Markdown
Member

Summary

  • Wire Hankel-SVD spectral learning through mixed-state extraction so EpsilonMachine.from_sequence(..., method="spectral") returns an ε-machine.
  • Use a Mealy projection when the learned operators are non-negative; otherwise enumerate mixed states of the signed operators (Ellison et al. 2009) instead of clustering.
  • Document the path and drop spectral from the “not yet implemented” reconstruction list. transCSSR is already in sofic as ε-transducers; conjugate BSI, subtree merging, and mixed-state extraction cover the algorithms sometimes labelled CSM / Gibbs BSI / NSD.

Test plan

  • uv run python -m pytest tests/test_epsilon_inference.py tests/test_spectral_inference.py -q --numprocesses=0
  • Golden mean and even process recover two states from exact block probabilities
  • Bernoulli from_sequence(..., method="spectral") recovers a single state
  • Signed-operator extraction raises SpectralInferenceError when max_states is exceeded

Made with Cursor

Wire Hankel-SVD learning through mixed-state extraction so
from_sequence(method="spectral") recovers canonical processes
without clustering heuristics.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Autoplectic
Autoplectic merged commit 88cff6c into main Aug 13, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant