diffeqpy
Bigsimr.jl
diffeqpy | Bigsimr.jl | |
---|---|---|
4 | 4 | |
499 | 4 | |
2.4% | - | |
7.7 | 8.1 | |
2 months ago | 2 months ago | |
Python | Julia | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
diffeqpy
-
How Julia ODE Solve Compile Time Was Reduced From 30 Seconds to 0.1
With Python you have to write packages in some other language anyways, so you might as well do that with Julia. One of the reasons for getting all of this precompilation going is to eventually ship precompiled system images with things like https://github.com/SciML/diffeqpy, effectively using Julia as a replacement for where C/Fortran is traditionally used there. If I can make that pipeline smooth, then I think Julia as a Python package building source will be a good option for a lot of folks. Right now it's a very manual, but it could easily improve with a bit of tooling.
- ‘Machine Scientists’ Distill the Laws of Physics from Raw Data
- Is it possible to create a Python package with Julia and publish it on PyPi?
-
Julia vs R/Python
10-100x speed increase was not an exaggeration for me. With julia I was able to run things quickly on my own machine which I had been running on a compute cluster. I agree that numba could be just as fast as julia. I also just saw that you can run that DE library from julia that I like so much from python using this package. https://github.com/SciML/diffeqpy
Bigsimr.jl
-
Is it possible to create a Python package with Julia and publish it on PyPi?
One more example for you. Our group wrote our core package in Julia called Bigsimr.jl (here) and then wrote interfaces to it for R (here and on cran) and Python (here and on PyPi)
-
some may hate it, some may love it
Mostly, but I used it to write a package that does multivariate simulation via gaussian copulas with correlation matching. You can find it here.
-
Copula: Can someone explain this code?
We wrote a Julia package that can do this called Bigsimr which also has an R interface. Message me if you have more questions.
-
[D] What's your favorite concept/rule/theorem in statistics and why?
I wrote a Julia library that basically applies this idea, but extends it to multivariate distributions. We sample from a multivariate normal, transform the margins to uniform (via the normal cdf), and then transform to the desired distribution using the margins inverse cdf's (called the NORTA algorithm). The caveat is that this transformation is non-linear, so the correlation matrix used to generate the multivariate normal samples is generally not the same as the correlation after transformation. We account for this by numerically solving for the n*(n-1)/2 double integrals to determine what input correlation is necessary to get the desired output correlation. This paper describes the full problem and method for solving.
What are some alternatives?
DifferentialEquations.jl - Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.
TwoBasedIndexing.jl - Two-based indexing
ModelingToolkit.jl - An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning and automated transformations of differential equations
r-bigsimr - Simulate arbitrary multivariate distributions
DiffEqBase.jl - The lightweight Base library for shared types and functionality for defining differential equation and scientific machine learning (SciML) problems
python-bigsimr
DiffEqSensitivity.jl - A component of the DiffEq ecosystem for enabling sensitivity analysis for scientific machine learning (SciML). Optimize-then-discretize, discretize-then-optimize, and more for ODEs, SDEs, DDEs, DAEs, etc. [Moved to: https://github.com/SciML/SciMLSensitivity.jl]
OffsetArrays.jl - Fortran-like arrays with arbitrary, zero or negative starting indices.
csvzip - A standalone CLI tool to reduce CSVs size by converting categorical columns in a list of unique integers.
StarWarsArrays.jl - Arrays indexed as the order of Star Wars movies
PySR - High-Performance Symbolic Regression in Python and Julia