Skip to content

autodiff 文档

这是 Luna-Flow/autodiff 0.2.0 的中文文档。

概览

autodiff 在 Luna Flow 的代数和算术结构上提供前向模式自动微分。

当前版本引入对偶数:

text
Dual[T] = value + tangent ε, ε² = 0

普通标量函数在 Dual::variable(x) 上求值时,可以同时得到函数值和一阶导数。

当前 API

  • Dual[T],包含 valuetangent
  • 构造器:Dual::newDual::constantDual::variable
  • 访问器:Dual::valueDual::tangent
  • 在基类型满足条件时实现环层级代数结构。
  • 通过 Luna-Flow/arithmetic 支持 checked division 和 checked sqrt。
  • 支持 sqrtexplnsincostan 等初等函数提升。
  • 前向模式辅助函数:diffvalue_and_diff
  • 线性代数辅助函数:autodiff/linalg 中的 gradientjacobianvalue_and_gradientvalue_and_jacobian
  • 多项式辅助函数:autodiff/poly 中基于对偶数求值的定点导数接口。

文档

验证

推荐检查:

bash
moon check
./run_test.sh
moon info