Merged
Conversation
- Add control-free problems documentation and examples - Implement ExponentialGrowth and HarmonicOscillator test problems - Fix error display for zero reference objectives (use absolute error) - Make color thresholds consistent with test tolerances - Add unique IDs to all section headings to avoid anchor conflicts - Fix MD036 linting warnings in documentation - All 84 tests passing successfully BREAKING CHANGE: None (pure addition) Workaround: Uses u(t) penalty term (1e-5*u(t)^2) instead of u(t)==0 constraint Future: Remove u(t) declaration and penalty when native control-free syntax is implemented
Contributor
- Simplify page title to avoid redundancy - Update workaround explanation to reflect penalty term approach - Improve mathematical formatting consistency with other examples - Clarify that parameter estimation is a type of parameter optimization
…ample - Add manual-differential-geometry.md with comprehensive coverage of Lift, Lie derivative, Poisson bracket, Lie bracket, and ∂ₜ - Add example-singular-control.md demonstrating singular control computation on vehicle-with-drift problem - Include progressive examples: plain Julia functions → VectorField types → explicit kwargs - Add ∂ₜ to ctflows.jl reexports - Update reexport tests for VectorField and ∂ₜ - Update navigation in make.jl to include both new pages
- Show how to create Hamiltonian objects with autonomous/variable keywords - Explain that both Hamiltonians must have same dependencies - Add non-autonomous and variable examples
- Update documentation warning to reflect new CTFlows capability - Add comprehensive examples with plain functions (autonomous, non-autonomous, variable) - Add nested brackets and mixed VectorField/function examples - Add tip comparing plain functions vs explicit VectorField creation - Add extensive test suite for @lie macro with plain functions - All tests pass (89/89) ✅
- Specify that keywords are only needed when using only plain functions - When mixing with VectorField objects, keywords are inferred from VectorField - Removes ambiguity about when to specify autonomous/variable keywords
- Keywords are optional when using plain functions - Default values: autonomous=true, variable=false - Can specify only one keyword if needed - Clearer explanation of when keywords are required vs optional
- Clarify keyword usage for @lie macro (optional, defaults, single keyword) - Improve formatting of warning box with proper indentation - Standardize variable naming in examples (Hfg -> H, Z_func -> Z) - Update tip section with consistent naming and formatting - Documentation builds successfully ✅
- Add comments to control and state bounds in OCP definition - Fix mathematical calculations for singular control derivation - Correct H01, H001, and H101 Poisson bracket calculations - Add non-degeneracy condition proof - Simplify calculation flow and remove redundant steps - Enable draft mode for documentation build
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BREAKING CHANGE: None (pure addition)
Workaround: Uses u(t) penalty term (1e-5*u(t)^2) instead of u(t)==0 constraint
Future: Remove u(t) declaration and penalty when native control-free syntax is implemented