Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Add Lyapunov exponents#77

Draft
alexfikl wants to merge 1 commit into
mainalexfikl/pycaputo:mainfrom
lyapunovalexfikl/pycaputo:lyapunovCopy head branch name to clipboard
Draft

Add Lyapunov exponents#77
alexfikl wants to merge 1 commit into
mainalexfikl/pycaputo:mainfrom
lyapunovalexfikl/pycaputo:lyapunovCopy head branch name to clipboard

Conversation

@alexfikl

@alexfikl alexfikl commented May 4, 2025

Copy link
Copy Markdown
Owner

This adds a little function to compute the Lyapunov exponents using the method from https://doi.org/10.1016/j.chaos.2023.113167.

TODO:

  • Figure out how to orthogonalize.
  • Add some tests.

@alexfikl

alexfikl commented May 4, 2025

Copy link
Copy Markdown
Owner Author

This seems to have highlighted a shortcoming in our interface. We need to renormalize the exponent every N iterations, but neither the evolve nor the advance methods allow this without a lot of hackery..

There are two issues:

  1. There is no way to modify ynext. Might be hacked around by modifying event.y in place.
  2. There is no way to modify the history. The history value is already computed and stored by the time we get to modifying event.y, so this is not solvable at the moment.

The simplest workaround seems to be to just give a callback to advance to potentially update the value of ynext before it's sent back to evolve. We can't really solve it by wrapping advance because it already computed things..

How does OrdinaryDiffEq.jl handle something like this? For integer-order systems it should just be possible to solve the system from $[t_n, t_n + N \Delta t]$ over and over again without modifying the underlying integrator, but this doesn't seem possible for the fractional case..

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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.