-
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Summary
PR #100 attempts to add ModelingToolkit v11 compat for NeuralLyapunovProblemLibrary, but this requires several breaking changes to be addressed.
Problem
ModelingToolkit v11 introduces breaking API changes:
-
Incompatible Symbolics versions:
- MTK 9.x requires Symbolics 6.x
- MTK 11.x requires Symbolics 7.x
- These cannot coexist - we must choose one
-
structural_simplifyAPI changes:- Old (MTK 9):
structural_simplify(sys, (inputs, outputs); split=..., simplify=...)returns a tuple - New (MTK 11):
mtkcompile(sys; inputs=..., outputs=...)returns a single System
- Old (MTK 9):
-
Other API changes per the MTK v10 migration guide:
ODESystem→ unifiedSystemtype- Callback semantics changed
getproperty/setproperty!for system fields removed
Files Affected
The following test files use the old structural_simplify API with tuple unpacking:
test/pendulum_test.jl(lines 35-41, 59)test/double_pendulum_test.jl(lines 90, 115, 181, 214)test/planar_quadrotor_test.jl(lines 26, 57, 123, 159)test/quadrotor_test.jl(lines 35, 65, 156, 194)
Recommended Next Steps
- Drop MTK 9 support - Update compat to
ModelingToolkit = "11"only - Update Symbolics compat - Change to
Symbolics = "7" - Migrate all test files to use the new
mtkcompileAPI - Update main NeuralLyapunov package if it also needs MTK 11 support
Alternative
If MTK 9 support is still needed, we may need to wait until:
- Upstream provides a compatibility layer
- Or create conditional code paths for both versions (complex)
🤖 Generated with Claude Code
Metadata
Metadata
Assignees
Labels
No labels