【文件属性】:
文件名称:HyperJet:C ++和Python中具有超双数的算法区分
文件大小:1.93MB
文件格式:ZIP
更新时间:2021-03-09 20:00:41
automatic-differentiation dual-numbers derivatives gradient hessian
HyperJet —适用于Python和C ++的具有超双数的算法区分
仅标头的库,用于使用双对数进行算法区分。 用C ++ 17编写,带有扩展的Python接口。
安装
pip install hyperjet
快速开始
导入模块:
import hyperjet as hj
创建一组变量,例如x=3和y=6 :
x , y = hj . DDScalar . variables ([ 3 , 6 ])
x和y是双偶数。 这由后缀hj表示:
x
>> > 3 hj
以简单的float获取值:
x . f
>> > 3
超双数将导数存储为numpy数组。
获取超双数的一阶导数(梯度):
x . g # = [dx/dx, dx/dy]
>> > array ([ 1. , 0. ])
获取二阶导数(Hessian矩阵):
x . hm () # = [[d^2