Skip to content

Define-by-run arbitrary higher order autodiff for scalars in Rust. Deferred: tensor calculus implementation.

License

Notifications You must be signed in to change notification settings

exbibyte/dynagrad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

Plots:

drawing drawing

About

Define-by-run arbitrary higher order autodiff for scalars in Rust. Deferred: tensor calculus implementation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages