-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
design discussionLet's talk about some design aspect of the libraryLet's talk about some design aspect of the libraryenhancementNew feature or requestNew feature or request
Description
Describe the feature you'd like to have
At the moment we handle basins of attraction as a standard Julia Array. The grid corresponding to the basins is a separate variable, and the attractors are as well. This has two major problems:
- It is tedius as one has to carry around the grid and attractors and basins.
- It does not play well with an alternative formulation of basins that one gets from
basins_fractions: the sampled basins. There the basins are not an Array but rather a vector of points.
I think formalizing this concept is a benefit, and it also allows us to extend it naturally and simply to future research.
If possible, sketch out an implementation strategy
- Define abstarct type
BasinsOfAttraction{ID}. Always "contains" attractors. Type parameterizationIDis what is the thing stored as an attractor label. For standard basins this isInt. - Define subtype
ArrayBasinsOfAttraction. Contains agrid(instance ofGridsubtype), and the basin array. - Define subtype
SampledBasinsOfAttraction. Contains two vectors:sampled_pointsandpoints_ids. Initial conditions and their labels.
We can then directly pass the instance of such types into functions like final state sensivitty, or the heatmap_basins_attractors, or in general all plotting functions.
We can then extend ProbabilisticBasinsOfAttraction where ID is not Int but rather Dict{Int, Float}, the probability to go to each attractor.
Metadata
Metadata
Assignees
Labels
design discussionLet's talk about some design aspect of the libraryLet's talk about some design aspect of the libraryenhancementNew feature or requestNew feature or request