Julia differential-equations

Open-source Julia projects categorized as differential-equations Edit details

Top 16 Julia differential-equation Projects

  • DifferentialEquations.jl

    Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components

    Project mention: From Common Lisp to Julia | news.ycombinator.com | 2022-09-06

    https://github.com/SciML/DifferentialEquations.jl/issues/786. As you could see from the tweet, it's now at 0.1 seconds. That has been within one year.

    Also, if you take a look at a tutorial, say the tutorial video from 2018,

  • ModelingToolkit.jl

    A 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

    Project mention: Simulating a simple circuit with the ModelingToolkit | reddit.com/r/Julia | 2022-06-29
  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

  • DiffEqFlux.jl

    Universal neural differential equations with O(1) backprop, GPUs, and stiff+non-stiff DE solvers, demonstrating scientific machine learning (SciML) and physics-informed machine learning methods

    Project mention: Jax vs. Julia (Vs PyTorch) | news.ycombinator.com | 2022-05-04
  • NeuralPDE.jl

    Physics-Informed Neural Networks (PINN) and Deep BSDE Solvers of Differential Equations for Scientific Machine Learning (SciML) accelerated simulation

    Project mention: from Wolfram Mathematica to Julia | reddit.com/r/Julia | 2022-05-26

    PDE solving libraries are MethodOfLines.jl and NeuralPDE.jl. NeuralPDE is very general but not very fast (it's a limitation of the method, PINNs are just slow). MethodOfLines is still somewhat under development but generates quite fast code.

  • OrdinaryDiffEq.jl

    High performance differential equation solvers for ordinary differential equations, including neural ordinary differential equations (neural ODEs) and scientific machine learning (SciML)

    Project mention: How do the Julia ODE solvers choose/select their initial steps? What formula do they use to estimate the appropriate initial step size? | reddit.com/r/Julia | 2021-12-15

    Yes. If you want to see a robust version of the algorithm you can check out https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/src/initdt.jl

  • Catalyst.jl

    Chemical reaction network and systems biology interface for scientific machine learning (SciML). High performance, GPU-parallelized, and O(1) solvers in open source software

    Project mention: Julia macros | reddit.com/r/Julia | 2021-12-19
  • DiffEqOperators.jl

    Linear operators for discretizations of differential equations and scientific machine learning (SciML)

    Project mention: Julia 1.7 has been released | news.ycombinator.com | 2021-11-30

    >I hope those benchmarks are coming in hot

    M1 is extremely good for PDEs because of its large cache lines.


    The JuliaSIMD tools which are internally used for BLAS instead of OpenBLAS and MKL (because they tend to outperform standard BLAS's for the operations we use https://github.com/YingboMa/RecursiveFactorization.jl/pull/2...) also generate good code for M1, so that was giving us some powerful use cases right off the bat even before the heroics allowed C/Fortran compilers to fully work on M1.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • SciMLBenchmarks.jl

    Benchmarks for scientific machine learning (SciML) software, scientific AI, and (differential) equation solvers

    Project mention: Why Fortran is easy to learn | news.ycombinator.com | 2022-01-07

    > But in the end, it's FORTRAN all the way down. Even in Julia.

    That's not true. None of the Julia differential equation solver stack is calling into Fortran anymore. We have our own BLAS tools that outperform OpenBLAS and MKL in the instances we use it for (mostly LU-factorization) and those are all written in pure Julia. See https://github.com/YingboMa/RecursiveFactorization.jl, https://github.com/JuliaSIMD/TriangularSolve.jl, and https://github.com/JuliaLinearAlgebra/Octavian.jl. And this is one part of the DiffEq performance story. The performance of this of course is all validated on https://github.com/SciML/SciMLBenchmarks.jl

  • DiffEqBase.jl

    The lightweight Base library for shared types and functionality for defining differential equation and scientific machine learning (SciML) problems

    Project mention: Simulating a simple circuit with the ModelingToolkit | reddit.com/r/Julia | 2022-06-29
  • ComponentArrays.jl

    Arrays with arbitrarily nested named components.

    Project mention: Recursion absolutely necessary for distributed computing? | reddit.com/r/Julia | 2021-10-15

    But for these to be as fast as say an Array when being used as the object in a differential equation solve or as the underlying construct of a nonlinear optimization, you would need the compiler to elide the struct construction which it doesn't always do. This is why the tools evolved to be around things like https://github.com/jonniedie/ComponentArrays.jl instead, where it's an Array-backed object with a higher level. Such immutable objects are used in these array-like contexts when the problems are small enough (FieldVectors or SLVector LabelledArrays.jl in DiffEq), and such applications work well in Haskell as well, but I haven't seen a compiler do well with say a 1,000 ODE model written in this style. And it's not quite an extreme case if it's what people are doing daily.

  • ReservoirComputing.jl

    Reservoir computing utilities for scientific machine learning (SciML)

  • ParameterizedFunctions.jl

    A simple domain-specific language (DSL) for defining differential equations for use in scientific machine learning (SciML) and other applications

    Project mention: Julia macros | reddit.com/r/Julia | 2021-12-19
  • ModelingToolkitStandardLibrary.jl

    A standard library of components to model the world and beyond

    Project mention: Is Julia is a good first language for children/teens? | reddit.com/r/Julia | 2022-05-29

    I see, yes, RigidBodySim is in a bit of a bad place since Twan and Robin spend all of their time doing "real robotics projects" now (they are both at Boston Dynamics). I think it's fine though, since I don't think that that is the right implementation anymore anyways. Robotics simulators like Drake, (Diff)Taichi, MuJoCo, etc. end up numerically unstable when trying to model real physics, which is why still the big industrial simulations use Dymola. This is why these days it's all going the route of ModelingToolkit. MTK plus a differentiable simulator (DifferentialEquations.jl) already runs circles around MuJoCo and DiffTaichi, it just needs to complete its library to make building rigid body simulations a lot simpler. Once the mechanical components portion of the ModelingToolkit Standard Library is completed, we plan to demonstrate some things like control of UAVs and such. That's all slated for this year (and is connected to some things going on in JuliaSim), in which case I think we'll be in a much better state for this domain.

  • DiffEqDevTools.jl

    Benchmarking, testing, and development tools for differential equations and scientific machine learning (SciML)

    Project mention: How much useful are Runge-Kutta methods of order 9 and higher within double-precision arithmetic/floating point accuracy? | reddit.com/r/Julia | 2022-09-02
  • BoundaryValueDiffEq.jl

    Boundary value problem (BVP) solvers for scientific machine learning (SciML)

  • SimpleDiffEq.jl

    Simple differential equation solvers in native Julia for scientific machine learning (SciML)

    Project mention: Tutorials for Learning Runge-Kutta Methods with Julia? | reddit.com/r/Julia | 2021-12-27

    There you go, that's one step of it, taken from SimpleDiffEq.jl. But that's a really bad method and should almost never be used in practice.

  • talent.io

    Download talent.io’s Tech Salary Report. Median salaries, most in-demand technologies, state of the remote work... all you need to know your worth on the market by tech recruitment platform talent.io

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-09-06.

Julia differential-equations related posts


What are some of the best open-source differential-equation projects in Julia? This list will help you:

Project Stars
1 DifferentialEquations.jl 2,332
2 ModelingToolkit.jl 1,078
3 DiffEqFlux.jl 720
4 NeuralPDE.jl 646
5 OrdinaryDiffEq.jl 380
6 Catalyst.jl 296
7 DiffEqOperators.jl 265
8 SciMLBenchmarks.jl 225
9 DiffEqBase.jl 203
10 ComponentArrays.jl 186
11 ReservoirComputing.jl 152
12 ParameterizedFunctions.jl 71
13 ModelingToolkitStandardLibrary.jl 54
14 DiffEqDevTools.jl 37
15 BoundaryValueDiffEq.jl 23
16 SimpleDiffEq.jl 18
Find remote jobs at our new job board 99remotejobs.com. There are 8 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Build time-series-based applications quickly and at scale.
InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.