aegir
Overview
Strongly-typed, compile-time autodifferentiation in Rust.
aegir
is an experimental autodifferentiation framework designed to leverage
the powerful type-system in Rust and avoid runtime as much as humanly
possible. The approach taken resembles that of expression templates, as
commonly used in linear-algebra libraries written in C++.
Key Features
- Built-in arithmetic, linear-algebraic, trigonometric and special operators.
- Infinitely differentiable: Jacobian, Hessian, etc...
- Custom DSL for operator expansion.
- Decoupled/generic tensor type.
Installation
[]
= "2.0"
Example
extern crate aegir;
extern crate rand;
use ;
ctx!;