DiffSharp: Differentiable Functional Programming
F# Mathematica Other
Clone or download
dsyme Merge pull request #44 from dsyme/dx9
start of inplace update
Latest commit 9bba790 Jul 21, 2017


DiffSharp: Differentiable Functional Programming

DiffSharp is a functional automatic differentiation (AD) library implemented in the F# language. It supports C# and the other CLI languages. The library is being developed mainly for research applications in machine learning, by Atılım Güneş Baydin and Barak A. Pearlmutter, within the Brain and Computation Lab, National University of Ireland Maynooth.

Please visit the project website for detailed documentation and examples.

You can come and join the Gitter chat room, if you want to chat with us:

Join the chat at https://gitter.im/DiffSharp/DiffSharp

Project statistics

Issue Stats Issue Stats

Current build status

Build status (Windows)

Build Status (Unix/Mono)


Copyright (c) 2014–2016, National University of Ireland Maynooth (Atilim Gunes Baydin, Barak A. Pearlmutter)

Written by: Atilim Gunes Baydin & Barak A. Pearlmutter

Brain and Computation Lab
Hamilton Institute & Department of Computer Science
National University of Ireland Maynooth
Maynooth, Co. Kildare


DiffSharp is released under the GNU Lesser General Public License (LGPL) version 3. This means that you can integrate DiffSharp as a shared library into your software, which may be commercial, closed-source, or open-source under any license (including non-GPL), provided that you use the unmodified DiffSharp binary and reproduce the above copyright notice with a link to the DiffSharp website. Permitting uses outside of these license terms may be considered on a by-case basis.

This work is supported by Science Foundation Ireland grant 09/IN.1/I2637.

Other licenses

DiffSharp uses:

  • OpenBLAS by Zhang Xianyi, Wang Qian, Werner Saar (BSD license) for BLAS/LAPACK operations
  • F# Quotations Evaluator by Paul Westcott and others (Unlicense/public domain) for compiling code quotations