海森矩阵

高阶微分操作

海森矩阵

海森矩阵(Hessian Matrix)算子用于计算函数的海森矩阵。

Hessian对象被创建后,可以采用部分惰性求值方法进行计算,可以对其进行多维索引来获取整个海森矩阵或子矩阵,此时会进行实际求值计算并返回结果。同时在实际求值的过程中,会对计算完毕的子矩阵进行缓存,以避免在后续的索引过程中产生重复计算。

参数列表

参数类型参数描述
待微分函数输入要计算海森矩阵的函数。此函数的输入参数应是数组、标量。它应返回数组或标量
输入张量输入表示自变量,待微分函数的输入
是否有附加数据输入布尔变量,指待微分函数是否返回一个元组,其中第一个元素是数学函数的输出,第二个元素是附加数据。此变量为真表示待微分函数返回的是这样的元组结构,它会正确计算海森矩阵。默认情况下此变量为假,即假设函数只返回一个纯数值作为输出
是否是全纯函数输入布尔变量,指示待微分函数是否是全纯函数
海森矩阵输出表示计算结果

函数返回值

  • 没有错误:操作成功。
  • 对象未初始化:表示输入张量没有初始化。
  • 类型不匹配:表示参数的数据类型不一致。
  • 分配失败:表张量分配空间不足。
  • 内部错误:表示内部调用出错。

参考来源:团体标准——《人工智能 科学计算 共性算子功能要求》——章节7.3.1.2

硬件验证状态

昇腾 NPU 1.8ms鲲鹏 CPU 2.6ms海光 CPU 2.1ms昆仑 XPU 2.4ms海光 DCU 2.3ms飞腾 CPU 3.1ms燧原 XPU 2.7ms沐曦 GPU 2.5ms