JuliaDynamics / JuliaDynamics/DynamicalSystemsBase.jl

Discrete systems with memory (e.g. AR-N systems)

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

Nobody has claimed this yet.

new-system
Dominant language
Julia
Stars
56
Forks
34
PR merge metrics
No merged PRs in 30d

Description

Describe the feature you'd like to have

See discussion here. It would be nice to have a dedicated implementation of DiscreteDynamicalSystemWithMemory, which could iterate systems where the next state depends on n previous time steps. This would allow defining for example autoregressive systems.

In CausalityTools.jl, I circumvent the lack of this type by defining each system as a struct that allocates memory containers that are updated as the system is iterated. For systems with stochastic components, these containers also store a reference to a random number generator, so that trajectories are reproducible.

If possible, sketch out an implementation strategy

Implement the approach described above, somehow. I'll revisit this when I'm done with the CausalityTools v2.0 release and after application deadlines.

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 with the existing dynamical-system types and iteration API, then read the linked CausalityTools.jl discussion and the proposed DiscreteDynamicalSystemWithMemory concept. Done means supporting systems whose next state depends on n previous steps, including autoregressive examples and reproducible stochastic trajectories.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
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.