Repository navigation
Add fixed-plan differentiable exponential actions - #142
Merged
rogeriojorge merged 2 commits intoOct 25, 2026
Merged
rogeriojorge merged 2 commits into
rogeriojorge merged 2 commits into
Conversation
rogeriojorge
added a commit
that referenced
this pull request
Oct 25, 2026
* Reject zero vectors in propagator eigenpair certification * Add fixed-plan differentiable exponential actions (#142) * Add optional fixed-plan checkpointed Taylor exponential actions * Add verified-range Chebyshev exponential actions and release contract tests
Merged
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.
Adds fixed-plan exponential actions for autonomous linear operators when the caller can verify an induced-norm or numerical-range bound. Host planning selects a shifted Taylor schedule or a fixed-horizon Chebyshev recurrence; checkpointed application supports arbitrary compatible real/complex arrays and operator/input JVPs and VJPs, including zero inputs. Taylor plans additionally support time derivatives. Chebyshev coefficient planning uses the existing optional SciPy extra.
An optional
action_planselects either action insideexponential_eigenpairs, preserving outer extraction and original-operator residual checks. Existing callers that supply an Arnoldi dimension retain their behavior. Plans do not infer bounds from a black-box operator, and the returned truncation estimate excludes roundoff, operator/coefficient error, and derivative error. The API documentation explains those contracts, physical-coordinate transforms, and complex adjoints.Validation: full current-stack suite passed with 988 tests and 11 optional skips; combined statement/branch coverage is 97.71% against the unchanged 95% requirement. All 62 propagator tests pass on both JAX 0.11.2 and the supported minimum JAX 0.4.38. Independent tests cover dense/sparse actions, Fréchet derivatives, realified Jacobians, zero-start adjoints, finite differences, nonnormal rectangles, scalar coefficient integrals, invalid budgets, and eigenpair integration. Ruff, mypy, and the warning-as-error Sphinx build pass. Propagator tests are added to the compatibility CI set.
This PR is stacked on #141, with
fix/propagator-zero-vectorsas its base so the zero-vector guard remains a separate change. No merge or default performance superiority is implied.