This project contains a generic implementation of automatic differentiation from scratch. The intention of this repo is to serve as an avenue to explore the foundations of Neural Networks. This repo contains reverse and forward mode differentiation.
Note that this project is configured on cpp20 compiler.
Function | Forward Mode | Reverse Mode | Scalar | Vector | Matrix |
---|---|---|---|---|---|
arithmetic | |||||
exp | |||||
pow | |||||
ln | |||||
sin | |||||
cos | |||||
tan | |||||
cot | |||||
sec | |||||
csc | |||||
asin | |||||
acos | |||||
atan | |||||
acot | |||||
asec | |||||
acsc | |||||
sinh | |||||
cosh | |||||
tanh | |||||
coth | |||||
sech | |||||
csch | |||||
asinh | |||||
acosh | |||||
atanh | |||||
acoth | |||||
asech | |||||
acsch |
- Higher order partial differentiation
- Total derivative
- Directional derivative
- Jacobian Matrix
- Gradient vector
- Hessian Matrix