Julia Sciml

Open-source Julia projects categorized as Sciml

Top 23 Julia Sciml Projects

  • 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.

    Project mention: Startups are building with the Julia Programming Language | news.ycombinator.com | 2022-12-13

    This lists some of its unique abilities:


    The routines are sufficiently generic, with regard to Julia’s type system, to allow the solvers to automatically compose with other packages and to seamlessly use types other than Numbers. For example, instead of handling just functions Number→Number, you can define your ODE in terms of quantities with physical dimensions, uncertainties, quaternions, etc., and it will just work (for example, propagating uncertainties correctly to the solution¹). Recent developments involve research into the automated selection of solution routines based on the properties of the ODE, something that seems really next-level to me.

    [1] https://lwn.net/Articles/834571/

  • 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

    Project mention: Mathematically Modelling a PRV | /r/ControlTheory | 2022-10-24

    I'd use a modeling tool like https://mtk.sciml.ai/dev/ Using the standard library, you wouldn't need to come up with all equations yourself. Depending on the details of your use case, system identification as suggested before might be a faster approach though.

  • 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.

  • NeuralPDE.jl

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

    Project mention: Automatically install huge number of dependency? | /r/Julia | 2023-05-31

    The documentation has a manifest associated with it: https://docs.sciml.ai/NeuralPDE/dev/#Reproducibility. Instantiating the manifest will give you all of the exact versions used for the documentation build (https://github.com/SciML/NeuralPDE.jl/blob/gh-pages/v5.7.0/assets/Manifest.toml). You just ]instantiate folder_of_manifest. Or you can use the Project.toml.

  • Optimization.jl

    Mathematical Optimization in Julia. Local, global, gradient-based and derivative-free. Linear, Quadratic, Convex, Mixed-Integer, and Nonlinear Optimization in one simple, fast, and differentiable interface.

    Project mention: SciPy: Interested in adopting PRIMA, but little appetite for more Fortran code | news.ycombinator.com | 2023-05-18

    Interesting response. I develop the Julia SciML organization https://sciml.ai/ and we'd be more than happy to work with you to get wrappers for PRIMA into Optimization.jl's general interface (https://docs.sciml.ai/Optimization/stable/). Please get in touch and we can figure out how to set this all up. I personally would be curious to try this out and do some benchmarks against nlopt methods.

  • SymbolicRegression.jl

    Distributed High-Performance Symbolic Regression in Julia

    Project mention: Symbolicregression.jl – High-Performance Symbolic Regression in Julia and Python | news.ycombinator.com | 2023-07-15
  • DataDrivenDiffEq.jl

    Data driven modeling and automated discovery of dynamical systems for the SciML Scientific Machine Learning organization

    Project mention: Equation based on point | /r/Julia | 2022-12-15

    If you are looking to infer the actual structure (not just parameters) of an ODE given some data, there is DataDrivenDiffEq.jl. https://github.com/SciML/DataDrivenDiffEq.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.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • Surrogates.jl

    Surrogate modeling and optimization for scientific machine learning (SciML)

  • SciMLSensitivity.jl

    A component of the DiffEq ecosystem for enabling sensitivity analysis for scientific machine learning (SciML). Optimize-then-discretize, discretize-then-optimize, adjoint methods, and more for ODEs, SDEs, DDEs, DAEs, etc.

  • DiffEqBase.jl

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

  • StochasticDiffEq.jl

    Solvers for stochastic differential equations which connect with the scientific machine learning (SciML) ecosystem

    Project mention: Writing unit tests in scientific computing | /r/Julia | 2023-03-21

    For stochastic processes you have to work a little bit more. However maybe the StochasticDiffEq.jl package can give some guiding there https://github.com/SciML/StochasticDiffEq.jl/tree/master/test

  • ReservoirComputing.jl

    Reservoir computing utilities for scientific machine learning (SciML)

  • RecursiveArrayTools.jl

    Tools for easily handling objects like arrays of arrays and deeper nestings in scientific machine learning (SciML) and other applications

    Project mention: Julia's latency: Past, present and future | /r/Julia | 2023-04-01

    You're not really supposed to be using StaticArraysCore anymore, but here's a somewhat older PR that shows the siginificance of moving StaticArray functionality on a smaller library, moving it from 6228ms to 292ms load time (https://github.com/SciML/RecursiveArrayTools.jl/pull/217).

  • SciMLStyle

    A style guide for stylish Julia developers

  • MethodOfLines.jl

    Automatic Finite Difference PDE solving with Julia SciML

    Project mention: Please help me make a case to implement Julia in enterprise | /r/Julia | 2022-11-07

    You might be interested in MethodOfLines.jl, a symbolic automatic partial differential equation discretizer based on the ModelingToolkit and DiffEq stack.

  • NonlinearSolve.jl

    High-performance and differentiation-enabled nonlinear solvers (Newton methods), bracketed rootfinding (bisection, Falsi), with sparsity and Newton-Krylov support.

    Project mention: Storing a zero found by NLsolve as a vector | /r/Julia | 2022-12-26

    I would highly suggest using NonlinearSolve.jl instead as it's more maintained. For this, the solution object is documented here: https://docs.sciml.ai/NonlinearSolve/stable/basics/NonlinearSolution/

  • NBodySimulator.jl

    A differentiable simulator for scientific machine learning (SciML) with N-body problems, including astrophysical and molecular dynamics

  • LatticeQCD.jl

    A native Julia code for lattice QCD with dynamical fermions in 4 dimension.

  • ModelingToolkitStandardLibrary.jl

    A standard library of components to model the world and beyond

  • ParameterizedFunctions.jl

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

  • WorldDynamics.jl

    An open-source framework written in Julia for global integrated assessment models.

    Project mention: WorldDynamics.jl: A modern implemention of famous integrated assessment models | /r/collapse | 2022-10-06
  • DiffEqDevTools.jl

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

  • MuladdMacro.jl

    This package contains a macro for converting expressions to use muladd calls and fused-multiply-add (FMA) operations for high-performance in the SciML scientific machine learning ecosystem

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

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 2023-07-15.

Julia Sciml related posts


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

Project Stars
1 DifferentialEquations.jl 2,622
2 ModelingToolkit.jl 1,256
3 NeuralPDE.jl 813
4 Optimization.jl 568
5 SymbolicRegression.jl 458
6 DataDrivenDiffEq.jl 384
7 Catalyst.jl 366
8 Surrogates.jl 287
9 SciMLSensitivity.jl 273
10 DiffEqBase.jl 262
11 StochasticDiffEq.jl 219
12 ReservoirComputing.jl 180
13 RecursiveArrayTools.jl 177
14 SciMLStyle 152
15 MethodOfLines.jl 133
16 NonlinearSolve.jl 128
17 NBodySimulator.jl 119
18 LatticeQCD.jl 117
19 ModelingToolkitStandardLibrary.jl 83
20 ParameterizedFunctions.jl 73
21 WorldDynamics.jl 53
22 DiffEqDevTools.jl 43
23 MuladdMacro.jl 42
Updating dependencies is time-consuming.
Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.