omaraflak / Automatic-Differentiation

Simple automatic differentiation tool.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Automatic Differentiation

Very simple automatic differentiation tool, implemented using dual numbers and operator overloading.

This code is part of my article on Medium : Automatic Differentiation.

Example

// Dual(value, derivative=0)
Dual x(5, 1); // derivative=1 means we are going to derive with respect to this variable.
Dual y(6);
Dual f = pow(x,2)*y; // the derivative is calculated when the function is computed.
std::cout << f.getDerivative() << std::endl; // get the derivative of y*x^2 with respect to x, evaluated at (x=5,y=6).

About

Simple automatic differentiation tool.


Languages

Language:C++ 80.1%Language:Makefile 19.9%