4

当我quadprog使用给定的功能Fmatlab 输出运行时:

Warning: Your Hessian is not symmetric.
Resetting H=(H+H')/2. 

但是,检查功能和转置之间的区别:

>> max(max(abs(F-F')))

ans =

   (1,1)     7.1054e-015

表明它们实际上是相同的。quadprog即使函数因机器错误而接近对称,是否也会输出此警告?

4

1 回答 1

3

用于在 quadprog 源中存在反对称的测试是

norm(H-H',inf) > eps

即它检查无穷范数是否大于机器ε。自从

7.1054e-15 > eps = 2.22e-16

您的 Hessian 显示为非对称。

于 2012-08-01T11:18:47.757 回答