All Projects → JuliaDiff → Forwarddiff.jl

JuliaDiff / Forwarddiff.jl

Licence: other
Forward Mode Automatic Differentiation for Julia

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Forwarddiff.jl

Reversediff.jl
Reverse Mode Automatic Differentiation for Julia
Stars: ✭ 182 (-60.94%)
Mutual labels:  automatic-differentiation, calculus
Nasc
Do maths like a normal person
Stars: ✭ 396 (-15.02%)
Mutual labels:  calculus
Symbolics.jl
A symbolic math library written in Julia modelled off scmutils
Stars: ✭ 98 (-78.97%)
Mutual labels:  automatic-differentiation
Expreduce
An experimental computer algebra system written in Go
Stars: ✭ 318 (-31.76%)
Mutual labels:  calculus
Machine Learning Curriculum
Complete path for a beginner to become a Machine Learning Scientist!
Stars: ✭ 279 (-40.13%)
Mutual labels:  calculus
Newton Api
➗ A really micro micro-service for advanced math.
Stars: ✭ 358 (-23.18%)
Mutual labels:  calculus
DeepFlow
Pytorch implementation of "DeepFlow: History Matching in the Space of Deep Generative Models"
Stars: ✭ 24 (-94.85%)
Mutual labels:  automatic-differentiation
Pinocchio
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Stars: ✭ 432 (-7.3%)
Mutual labels:  automatic-differentiation
Kotlingrad
Shape-Safe Symbolic Differentiation with Algebraic Data Types
Stars: ✭ 388 (-16.74%)
Mutual labels:  automatic-differentiation
Theano lstm
🔬 Nano size Theano LSTM module
Stars: ✭ 310 (-33.48%)
Mutual labels:  automatic-differentiation
Tensorlang
Tensorlang, a differentiable programming language based on TensorFlow
Stars: ✭ 302 (-35.19%)
Mutual labels:  automatic-differentiation
Rust Autograd
Tensors and differentiable operations (like TensorFlow) in Rust
Stars: ✭ 278 (-40.34%)
Mutual labels:  automatic-differentiation
The Math Of Intelligence
List of resources & possible pathway for the Math of Machine Learning and AI.
Stars: ✭ 370 (-20.6%)
Mutual labels:  calculus
Angourimath
Open-source symbolic algebra library for C# and F#. One of the most powerful in .NET
Stars: ✭ 266 (-42.92%)
Mutual labels:  calculus
Gorgonia
Gorgonia is a library that helps facilitate machine learning in Go.
Stars: ✭ 4,295 (+821.67%)
Mutual labels:  automatic-differentiation
Awesome-Math-Learning
📜 Collection of the most awesome Math learning resources in the form of notes, videos and cheatsheets.
Stars: ✭ 73 (-84.33%)
Mutual labels:  calculus
Basic Mathematics For Machine Learning
The motive behind Creating this repo is to feel the fear of mathematics and do what ever you want to do in Machine Learning , Deep Learning and other fields of AI
Stars: ✭ 300 (-35.62%)
Mutual labels:  calculus
Nerdamer
a symbolic math expression evaluator for javascript
Stars: ✭ 322 (-30.9%)
Mutual labels:  calculus
Deepdarkfantasy
A Programming Language for Deep Learning
Stars: ✭ 463 (-0.64%)
Mutual labels:  automatic-differentiation
Enzyme
High-performance automatic differentiation of LLVM.
Stars: ✭ 418 (-10.3%)
Mutual labels:  automatic-differentiation

CI Coverage Status

ForwardDiff.jl

ForwardDiff implements methods to take derivatives, gradients, Jacobians, Hessians, and higher-order derivatives of native Julia functions (or any callable object, really) using forward mode automatic differentiation (AD).

While performance can vary depending on the functions you evaluate, the algorithms implemented by ForwardDiff generally outperform non-AD algorithms in both speed and accuracy.

Here's a simple example showing the package in action:

julia> using ForwardDiff

julia> f(x::Vector) = sum(sin, x) + prod(tan, x) * sum(sqrt, x);

julia> x = rand(5) # small size for example's sake
5-element Array{Float64,1}:
 0.986403
 0.140913
 0.294963
 0.837125
 0.650451

julia> g = x -> ForwardDiff.gradient(f, x); # g = ∇f

julia> g(x)
5-element Array{Float64,1}:
 1.01358
 2.50014
 1.72574
 1.10139
 1.2445

julia> ForwardDiff.hessian(f, x)
5x5 Array{Float64,2}:
 0.585111  3.48083  1.7706    0.994057  1.03257
 3.48083   1.06079  5.79299   3.25245   3.37871
 1.7706    5.79299  0.423981  1.65416   1.71818
 0.994057  3.25245  1.65416   0.251396  0.964566
 1.03257   3.37871  1.71818   0.964566  0.140689

Trying to switch to the latest version of ForwardDiff? See our upgrade guide for details regarding user-facing changes between releases.

Publications

If you find ForwardDiff useful in your work, we kindly request that you cite the following paper:

@article{RevelsLubinPapamarkou2016,
    title = {Forward-Mode Automatic Differentiation in {J}ulia},
   author = {{Revels}, J. and {Lubin}, M. and {Papamarkou}, T.},
  journal = {arXiv:1607.07892 [cs.MS]},
     year = {2016},
      url = {https://arxiv.org/abs/1607.07892}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].