Comments (4)
I am okay with leaving them in Dispersal
if they are sufficiently generic. Perhaps the evolution functions will be more generic than just for Dispersal but they were designed principally with this paradigm in mind so it might make sense to include them here as if you were to make another separate package called QuantGen or something, then you would need to make a bunch of other canonical functions.
from dispersal.jl.
I like the AbstractPopulation
idea. Adding a dot
method to AbstractPopulation
would also let them all work in dot-product dispersal kernels without modification. @jamesmaino I think that could all be in Dispersal.jl too. It seems very powerful that all the other methods will just work on any kind of population.
from dispersal.jl.
I work with my fork so you can start changing anything you want, so as I finish what we engage for this month.
About methods to keep.
For now:
From what I've done maybe the two files discrete_growth.jl
, survival.jl
can be add to the release, because they are classical functions like those of allee.jl
and so.
While files allele_frequency.jl
and selection_gradient.jl
are not generic enough (refering only to the survival functions I defined). The genericity of these two would benefit from a generic Population.
Long term plan:
I'm starting to think about implementing structure to define a generic Population with a tree like:
AbstractPopulation
|_ PhenotypePopulation
|_ GenotypePopulation
|_ AlleleFreqPopulation
| ...
and then having operation +
, -
, *
, ..., zero()
define on it to say what is to add, mix, divide ... 2 populations and more. And as you said, methods of dispersal would work straightfoward, but also other population methods of growth, breeding, predation, ... would be quite generic too. What do you think about it?
Maybe a package would be interesting, because there could be difficulties like when population is a size one, so an individual, statistics would changes.
from dispersal.jl.
cool
from dispersal.jl.
Related Issues (20)
- Precompile failed HOT 14
- Consider "OrganismDispersal" as a name? HOT 1
- Rename HumanDispersal to GravityDispersal HOT 4
- Provide citations and latex formulas where applicable
- A rule depending on 2 layers and chaining rules using arguments HOT 17
- DateTime of layers seems buggy HOT 1
- Drop `Exact` from growth model names HOT 1
- Check human dispersal weights array and grwothmaps aux size in `precalc`
- Idea to better implement subpopulation functions | enhancement HOT 2
- Move optimisation tools to another package.
- Document and clarify kernel generation models HOT 1
- Move downsapling code or use GeoData / DimensionalData
- Create a new type for Population HOT 1
- precalc_auxtimeindex of GeoArray HOT 2
- TagBot trigger issue HOT 11
- Fix broken docs
- Dispersal weight
- All rules need example construcors in the docs
- Still "maintained"? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dispersal.jl.