JuMP.jl
AbstractDifferentiation.jl
JuMP.jl | AbstractDifferentiation.jl | |
---|---|---|
3 | 2 | |
2,134 | 135 | |
0.7% | 4.4% | |
9.3 | 6.5 | |
6 days ago | 12 days ago | |
Julia | Julia | |
GNU General Public License v3.0 or later | 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.
JuMP.jl
-
Optimization
JuMP.jl is my personal go-to when solving "big" optimization problems in Julia (maybe it's overkill for your application).
-
Multiple dispatch: Common Lisp vs Julia
A 100+ contributor project
-
Julia macros
Macros are very useful if you want to create Domain Specific Languages (DSLs), see https://github.com/jump-dev/JuMP.jl or if you want to transpile a subset of Julia to another language or say GPU code.
AbstractDifferentiation.jl
-
What packages would you like Julia to have?
A working common interface for all kinds of differentiation. Like AbstractDifferentiation.jl tries to do, but it is far from finished and seems unmaintained.
-
Multiple dispatch: Common Lisp vs Julia
Yes there are 3-5 different automatic differentiation implementations focusing on different algorithms and types of codes to differentiate. However if such a circumstance are discovered the Julia community tends to jointly implement abstractions. The first one was chainrules which implement the rules for derivatives of mathematical functions (how to calculate the derivative of the gamma function) in a shared place. The next step is https://github.com/JuliaDiff/AbstractDifferentiation.jl which unifies the different algorithms.
What are some alternatives?
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.
LicenseCheck.jl - Provides some license checking functionality in Julia by wrapping some of the Go library `licencecheck` and supplying some utilities
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
Symbolics.jl - Symbolic programming for the next generation of numerical software
ComponentArrays.jl - Arrays with arbitrarily nested named components.
NumericalAlgorithms.jl - [DEPRECATED] Statistics & Numerical algorithms implemented in Julia.
OMLT - Represent trained machine learning models as Pyomo optimization formulations
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
ConstructiveGeometry.jl - Algorithms and syntax for building CSG objects within Julia.
ParameterizedFunctions.jl - A simple domain-specific language (DSL) for defining differential equations for use in scientific machine learning (SciML) and other applications
LaTeXDatax.jl - Julia plugin for the datax LaTeX package
Coluna.jl - Branch-and-Price-and-Cut in Julia