2012-08-01 501 views
4

當我運行quadprog與給定功能F MATLAB輸出:MATLAB:quadprog抱怨功能不是對稱的,當它是

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

然而,檢查功能之間的差異,這是轉:

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

ans = 

    (1,1)  7.1054e-015 

顯示它們實際上是相同的。即使功能接近由機器錯誤對稱,quadprog是否會輸出此警告?

回答

3

用於在quadprog源反對稱的存在測試是

norm(H-H',inf) > eps 

即它檢查是否無窮範數大於機器最小更大。由於

7.1054e-15 > eps = 2.22e-16 

您的黑森州顯示爲非對稱。

相關問題