Skip to content

Add balanced truncation and operator inference - #203

Merged
ChrisRackauckas merged 2 commits into
SciML:mainfrom
ChrisRackauckas-Claude:cr/opinf-baltrunc
Sep 9, 2026
Merged

ChrisRackauckas merged 2 commits into
SciML:mainfrom
ChrisRackauckas-Claude:cr/opinf-baltrunc

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Summary

  • Implement continuous-time square-root baltrunc with optional residualization, returning a BalancedTruncation result (Hurwitz check, near-zero HSV filtering).
  • Implement non-intrusive opinf for linear / quadratic / input / constant reduced operators from snapshot/derivative data, plus reduced_dynamics evaluation.
  • Add focused unit tests and document the new public API.

Test plan

  • test/balanced_truncation.jl (15 tests): dominant-mode recovery, residualized DC gain, Hurwitz / dimension checks
  • test/operator_inference.jl (24 tests): exact linear/quadratic/input/constant recovery, POD path, monomial ordering, API checks
  • CI GROUP=Core / GROUP=QA on the PR
  • Spot-check docs build if desired: julia --project=docs docs/make.jl

Made with Cursor

Provide early, high-leverage MOR entry points for continuous-time LTI systems and non-intrusive polynomial reduced models from snapshot data (SciML#4, SciML#5).

Co-authored-by: Cursor <cursoragent@cursor.com>
Runic rejected the four files this branch adds, plus the import block in
the module file, and typos rejected `Ot`, the transpose of the operator
matrix in operator inference. Both would have failed CI on the first
push. Formatting is Runic's own output and changes no behavior; the
tests still pass.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Agent-Harness: Claude Code 2.1.263
Agent-Model: claude-opus-5
Agent-Session: https://claude.ai/code/session_01H5RuLDtEazwTKPkNbPeZVu
Claude-Session: https://claude.ai/code/session_01H5RuLDtEazwTKPkNbPeZVu
@ChrisRackauckas
ChrisRackauckas merged commit 4c9cba7 into SciML:main Sep 9, 2026
10 of 11 checks passed
ChrisRackauckas added a commit that referenced this pull request Sep 10, 2026
- Add balanced truncation and operator inference (#203)



Agent-Harness: Claude Code
Agent-Model: claude-opus-5[1m]
Claude-Session: https://claude.ai/code/session_014FEzNTLFutCmTEAZ3zBg5R

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

2 participants