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

Improving the speed of Lyapunov spectra computation #197

Open
rseydam opened this issue Oct 26, 2023 · 4 comments
Open

Improving the speed of Lyapunov spectra computation #197

rseydam opened this issue Oct 26, 2023 · 4 comments

Comments

@rseydam
Copy link

rseydam commented Oct 26, 2023

When using the lyapunovspectrum function, it would be nice to use the Jacobian's structure (diagonal, banded, rank1, and so on) especially as long as one doesn't use a GPU for the matrix multiplication. In the problem I am working on the Jacobian has a diagonal, a rank 1, and a banded part. When the size gets big it would be nice to make use of that. Is this possible and how would this be done?

Maybe another related idea is to use a GPU for the evolution of the variational equation. Is this something that could be implemented?

@Datseris
Copy link
Member

All of these are nice ideas, and they need to be implemented in DynamicalSystemsBase.jl for the TangentDynamicalSystem. DifferentialEquations.jl ecosystem has functionality to detect the sparsity structure of Jacobian that we could utilize. In general, DifferentialEquations.jl uses the Jacobian in many solvers already so we could be re-using things.

Unfortunately this issue falls outside my bandwidth.

@Datseris
Copy link
Member

(note that you can pass in a sparse Jacobian already thats not a problem, but you would have to create the sparse and pass it in when you initialize a TangentDynamicalSystem)

@Datseris Datseris transferred this issue from JuliaDynamics/ChaosTools.jl Feb 21, 2024
@Datseris
Copy link
Member

Datseris commented Feb 23, 2024

See also SciML/ModelingToolkit.jl#1160 that practically solves the problem. We just need to make sure that this information is utilized when creating a TangentDynamicalSystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants