JuliaDynamics / JuliaDynamics/DynamicalSystemsBase.jl

Improving the speed of Lyapunov spectra computation

Open
#197 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

hard performance
Dominant language
Julia
Stars
56
Forks
34
PR merge metrics
No merged PRs in 30d

Description

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?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the implementation and API for lyapunovspectrum and the variational equation it evolves; no file or test is named in the issue. Compare how diagonal, banded, and rank-1 Jacobian structure is represented, and investigate the separate GPU idea. Done would require a scoped design, implementation path, and benchmarks showing improved large-system performance.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.