PoissonRandom
Fast Poisson Random Numbers in pure Julia for scientific machine learning (SciML)
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 14 committers (7.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Fast Poisson Random Numbers in pure Julia for scientific machine learning (SciML)
Basic Info
- Host: GitHub
- Owner: SciML
- License: other
- Language: Julia
- Default Branch: master
- Homepage: https://docs.sciml.ai/PoissonRandom/stable/
- Size: 971 KB
Statistics
- Stars: 18
- Watchers: 6
- Forks: 6
- Open Issues: 2
- Releases: 11
Topics
Metadata Files
README.md
PoissonRandom.jl: Fast Poisson Random Numbers
Tutorials and Documentation
For information on using the package, see the stable documentation. Use the in-development documentation for the version of the documentation, which contains the unreleased features.
Usage
```julia Pkg.add("PoissonRandom")
Simple Poisson random
pois_rand(λ)
Using another RNG
using RandomNumbers rng = Xorshifts.Xoroshiro128Plus() pois_rand(rng, λ) ```
Implementation
It mixes two methods. A simple count method and a method from a normal approximation. See this blog post for details.
Benchmark
```julia using RandomNumbers, Distributions, BenchmarkTools, StaticArrays, RecursiveArrayTools, Plots, PoissonRandom labels = ["countrand", "adrand", "pois_rand", "Distributions.jl"] rng = Xorshifts.Xoroshiro128Plus()
function ncount(rng, λ, n) tmp = 0 for i in 1:n tmp += PoissonRandom.countrand(rng, λ) end end
function npois(rng, λ, n) tmp = 0 for i in 1:n tmp += poisrand(rng, λ) end end
function nad(rng, λ, n) tmp = 0 for i in 1:n tmp += PoissonRandom.adrand(rng, λ) end end
function n_dist(λ, n) tmp = 0 for i in 1:n tmp += rand(Poisson(λ)) end end
function timeλ(rng, λ, n) t1 = @elapsed ncount(rng, λ, n) t2 = @elapsed nad(rng, λ, n) t3 = @elapsed npois(rng, λ, n) t4 = @elapsed n_dist(λ, n) @SArray [t1, t2, t3, t4] end
Compile
time_λ(rng, 5, 5000000)
Run with a bunch of λ
times = VectorOfArray([time_λ(rng, n, 5000000) for n in 1:20])' plot(times, labels = labels, lw = 3) ```

So this package ends up about 30% or so faster than Distributions.jl (the method at the far edge is λ-independent so that goes on forever).
Owner
- Name: SciML Open Source Scientific Machine Learning
- Login: SciML
- Kind: organization
- Email: contact@chrisrackauckas.com
- Website: https://sciml.ai
- Twitter: SciML_Org
- Repositories: 170
- Profile: https://github.com/SciML
Open source software for scientific machine learning
Citation (CITATION.bib)
@article{DifferentialEquations.jl-2017,
author = {Rackauckas, Christopher and Nie, Qing},
doi = {10.5334/jors.151},
journal = {The Journal of Open Research Software},
keywords = {Applied Mathematics},
note = {Exported from https://app.dimensions.ai on 2019/05/05},
number = {1},
pages = {},
title = {DifferentialEquations.jl – A Performant and Feature-Rich Ecosystem for Solving Differential Equations in Julia},
url = {https://app.dimensions.ai/details/publication/pub.1085583166 and http://openresearchsoftware.metajnl.com/articles/10.5334/jors.151/galley/245/download/},
volume = {5},
year = {2017}
}
GitHub Events
Total
- Create event: 6
- Release event: 2
- Issues event: 2
- Watch event: 2
- Delete event: 2
- Issue comment event: 14
- Push event: 51
- Pull request review event: 17
- Pull request review comment event: 15
- Pull request event: 7
- Fork event: 1
Last Year
- Create event: 6
- Release event: 2
- Issues event: 2
- Watch event: 2
- Delete event: 2
- Issue comment event: 14
- Push event: 51
- Pull request review event: 17
- Pull request review comment event: 15
- Pull request event: 7
- Fork event: 1
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Christopher Rackauckas | C****t@C****m | 29 |
| Arno Strouwen | a****n@t****e | 21 |
| dependabot[bot] | 4****] | 10 |
| Anant Thazhemadam | a****m@g****m | 6 |
| David Widmann | d****b@d****e | 3 |
| Krishna Bhogaonker | c****q@g****m | 2 |
| Chris de Graaf | me@c****v | 2 |
| github-actions[bot] | 4****] | 1 |
| femtocleaner[bot] | f****] | 1 |
| Yingbo Ma | m****5@g****m | 1 |
| Julia TagBot | 5****t | 1 |
| Hendrik Ranocha | m****l@r****e | 1 |
| Daniel VandenHeuvel | 9****H | 1 |
| Anshul Singhvi | a****7@s****u | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 6
- Total pull requests: 47
- Average time to close issues: about 2 months
- Average time to close pull requests: 2 days
- Total issue authors: 5
- Total pull request authors: 16
- Average comments per issue: 6.67
- Average comments per pull request: 0.19
- Merged pull requests: 45
- Bot issues: 0
- Bot pull requests: 12
Past Year
- Issues: 1
- Pull requests: 3
- Average time to close issues: about 1 month
- Average time to close pull requests: about 20 hours
- Issue authors: 1
- Pull request authors: 3
- Average comments per issue: 17.0
- Average comments per pull request: 1.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ChrisRackauckas (2)
- devmotion (1)
- sivasathyaseeelan (1)
- ArnoStrouwen (1)
- JuliaTagBot (1)
Pull Request Authors
- ArnoStrouwen (21)
- dependabot[bot] (12)
- ChrisRackauckas (4)
- thazhemadam (4)
- devmotion (3)
- 00krishna (2)
- christopher-dG (2)
- oscardssmith (2)
- sivasathyaseeelan (2)
- github-actions[bot] (1)
- femtocleaner[bot] (1)
- asinghvi17 (1)
- ranocha (1)
- YingboMa (1)
- DanielVandH (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 4,680 total
- Total dependent packages: 8
- Total dependent repositories: 0
- Total versions: 11
juliahub.com: PoissonRandom
Fast Poisson Random Numbers in pure Julia for scientific machine learning (SciML)
- Homepage: https://docs.sciml.ai/PoissonRandom/stable/
- Documentation: https://docs.juliahub.com/General/PoissonRandom/stable/
- License: MIT
-
Latest release: 0.4.6
published 7 months ago
Rankings
Dependencies
- actions/cache v3 composite
- actions/checkout v4 composite
- codecov/codecov-action v3 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- julia-actions/setup-julia latest composite
- actions/checkout v4 composite
- codecov/codecov-action v3 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/setup-julia latest composite
- actions/checkout v4 composite
- julia-actions/setup-julia latest composite
- actions/checkout v4 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-invalidations v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v4 composite
- cjdoris/julia-downgrade-compat-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v4 composite
- crate-ci/typos v1.16.23 composite