Stan数学库:C++中的反向模式自动微分
摘要:Stan数学库是一个C++、逆向模式的自动微分库,旨在方便构建和使用优化和统计推断算法。该库通过简单直接的接口和干净抽象的函数接口实现了易用性。它包括了一系列内置函数,用于矩阵运算、线性代数、微分方程求解以及常见的概率函数。扩展性是通过直观的面向对象表达式框架实现的,允许用户轻松创建自定义函数。效率是通过自定义内存管理、子表达式缓存、特性基元编程和表达式模板的组合达到的。复合函数的偏导数是惰性地计算,以提高可扩展性。为了保证稳定性,在代数表达式中需要注意算术精度,并在可能的情况下提供稳定的复合函数。为了便于移植性,该库符合标准的C++(03)标准,并已在Windows、Mac OS X和Linux的所有主要编译器上进行了测试。
作者:Bob Carpenter, Matthew D. Hoffman, Marcus Brubaker, Daniel Lee, Peter Li, Michael Betancourt
论文ID:1509.07164
分类:Mathematical Software
分类简称:cs.MS
提交时间:2015-09-25