Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating ODESystems for HAVOK #93

Closed
whpowell96 opened this issue Apr 28, 2020 · 3 comments
Closed

Creating ODESystems for HAVOK #93

whpowell96 opened this issue Apr 28, 2020 · 3 comments

Comments

@whpowell96
Copy link

whpowell96 commented Apr 28, 2020

Right now ODESystem works great for making ODE system and then an ODEProblem from the basis coming out of the SINDy sparse regression, but with HAVOK, one of the variables in the regression is either used as forcing or is estimated via some sort of convolution. Right now ODESystem does not seem to be able to create these sort of systems and it seems like the only way to construct an appropriate ODE system for a HAVOK model is to manually extract the matrix and from the SINDy basis and fit a spline to the forcing mode and create your own ODE function from that. It is possible there is something I am missing since the docs currenty 404.

My 2 main questions are

  1. Is there anyway to generate ODE functions for HAVOK models useing ODESystem by a different specification of the SINDy problem or something else?

  2. Is there a better way of extracting the matrix from the SINDy output basis regressed on a linear basis?

@AlCap23
Copy link
Collaborator

AlCap23 commented Apr 28, 2020

I am thinking about this ( and also see #56 ). Currently my target is to write up the docs, get some additional optimisation / identification routines for SINDY running and then get to the delays.
The implementation of HAVOK ( at least what is in the examples, there is a different PR open for this #53 ) is rather experimental.

To answer your questions:

  1. Not yet

  2. Maybe you can try sparse_regression defined here. There is also an iip version which gives you the matrix given DX and Theta, which should be the delay stuff)

Hope this helps.

@whpowell96
Copy link
Author

Hi, this helped a lot. I think that the best way to go forward with this would be usign sparse_regression and manually creating an ODE system, which isn't that hard if you are using v_{r+1} as a forcing function since you can just use some interpolation package, but doing actual online prediction using HAVOK where v_{r+1} is being estimated by convolving with left singular vectors is likely more involved. I look forward to seeing what features get added to this package.

@AlCap23
Copy link
Collaborator

AlCap23 commented May 5, 2020

I'll close this for now :)

@AlCap23 AlCap23 closed this as completed May 5, 2020
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

No branches or pull requests

2 participants