Skip to content

设计说明

autodiff v0.2 在保持核心层小而明确的同时,加入生态集成包。核心仍只提供基于对偶数的前向模式自动微分,不提供符号代数、反向模式或优化器 API。

包所有权

Dual[T]dual 包拥有,这样 MoonBit 方法和 trait 实现可以与类型放在同一个包中。corecheckedelementaryforward 和根包保持为轻量 facade。

linalgpoly 是集成层。它们依赖被桥接的外部 Luna Flow 库,但低层 autodiff 包不依赖这些集成层。

代数约束

对偶数是环式标量,但不是域。0 + 1ε 是非零幂零元,因此没有乘法逆元。所以 Dual[T] 不应实现 FieldMulGroupInverse

对偶数也没有自然总序,因此本包不实现 Compare

Checked 语义

checked 操作复用 Luna-Flow/arithmeticArithmeticContextArithmeticErrorDivCheckedSqrtChecked

非 v0.2 范围

  • Forward[T] 的向量值 tangent 存储
  • 高阶 Jet[T]
  • 区间或 ball 标量上的 validated AD
  • 反向模式自动微分
  • 基于 CAS 层的符号微分