Dynagrad
Define-by-run arbitrary higher order autodiff for scalars in Rust. Deferred: tensor calculus implementation.
Install / Use
/learn @exbibyte/DynagradREADME
Dynamic Automatic Differentiation in Rust
A pedagogical attempt at auto-differentiation. This is based on the autograd package and other variations of it as well as literature references (eg: The Art of Differentiating Computer Programs, An Introduction to Algorithmic Differentiation – Uwe Naumann).
Support:
- forward mode
- reverse mode
- a composition thereof for higher-order derivatives.
Todo:
- Multidimension support, possibly with help of ndarray crate
- Add support for Ricci calculus notation for symbolic manipulation (reference: Computing Higher Order Derivatives of Matrix and Tensor Expressions by Laue et al.)
- More ops and tests (see src/core.rs)
