当我使用给定的功能quadprog
matlab输出运行F
时:
Warning: Your Hessian is not symmetric.
Resetting H=(H+H')/2.
然而,检查功能和它的转置之间的区别:
>> max(max(abs(F-F')))
ans =
(1,1) 7.1054e-015
显示它们实际上是相同的。即使函数接近于由机器错误对称,quadprog
是否会输出此警告?
答案 0 :(得分:3)
用于在quadprog源中存在反对称性的测试是
norm(H-H',inf) > eps
即。它检查无穷大范数是否大于机器epsilon。由于
7.1054e-15 > eps = 2.22e-16
你的黑森州显示为非对称。