海森矩陣(德語:Hesse-Matrix;英語:Hessian matrix 或 Hessian),又譯作黑塞矩陣、海塞(賽)矩陣或海瑟矩陣等,是一個由多變量實值函數的所有二階偏導數組成的方陣,由德國數學家奧托·黑塞引入並以其命名。
假設有一實值函數,如果 的所有二階偏導數都存在並在定義域內連續,那麼函數的黑塞矩陣為
或使用下標記號表示為
顯然黑塞矩陣 是一個方陣。黑塞矩陣的行列式被稱爲黑塞式(英語:Hessian),而需注意的是英語環境下使用Hessian一詞時可能指上述矩陣也可能指上述矩陣的行列式[1]。
由高等數學知識可知,若一元函數在點的某個鄰域內具有任意階導數,則函數在點處的泰勒展開式為
其中,。
同理,二元函數在點處的泰勒展開式為
其中,,,,,,,。
將上述展開式寫成矩陣形式,則有
其中,,是的轉置,是函數在的梯度,矩陣
即函數在點處的黑塞矩陣。它是由函數在點處的所有二階偏導數所組成的方陣。
由函數的二次連續性,有
所以,黑塞矩陣為對稱矩陣。
將二元函數的泰勒展開式推廣到多元函數,函數在點處的泰勒展開式為
其中,
為函數在點的梯度,
為函數在點的黑塞矩陣。若函數有次連續性,則函數的黑塞矩陣是對稱矩陣。
說明:在優化設計領域中,黑塞矩陣常用表示,且梯度有時用表示。[2]
函數的黑塞矩陣和雅可比矩陣有如下關係:
即函數的黑塞矩陣等於其梯度的雅可比矩陣。
對於一元函數,在給定區間內某點處可導,並在點處取得極值,其必要條件是
即函數的極值必定在駐點處取得,或者說可導函數的極值點必定是駐點;但反過來,函數的駐點不一定是極值點。檢驗駐點是否為極值點,可以採用二階導數的正負號來判斷。根據函數在點處的泰勒展開式,考慮到上述極值必要條件,有
若在點處取得極小值,則要求在某一鄰域內一切點都必須滿足
即要求
亦即要求
在點處取得極大值的討論與之類似。於是有極值充分條件:
設一元函數在點處具有二階導數,且,,則
- 當時,函數在處取得極小值;
- 當時,函數在處取得極大值。
而當時,無法直接判斷,還需要逐次檢驗其更高階導數的正負號。由此有一個規律:若其開始不為零的導數階數為偶數,則駐點是極值點;若為奇數,則為拐點,而不是極值點。
對於二元函數,在給定區域內某點處可導,並在點處取得極值,其必要條件是
即
同樣,這只是必要條件,要進一步判斷是否為極值點需要找到取得極值的充分條件。根據函數在點處的泰勒展開式,考慮到上述極值必要條件,有
設,,,則
或
若在點處取得極小值,則要求在某一鄰域內一切點都必須滿足
即要求
亦即要求,
即
此條件反映了在點處的黑塞矩陣的各階主子式都大於零,即對於
要求
在點處取得極大值的討論與之類似。於是有極值充分條件:
設二元函數在點的鄰域內連續且具有一階和二階連續偏導數,又有,同時令,,,則
- 當,時,函數在處取得極小值;
- 當,時,函數在處取得極大值。
此外可以判斷,當時,函數在點處沒有極值,此點稱爲鞍點。而當時,無法直接判斷,對此,補充一個規律:當時,如果有,那麼函數在有極值,且當有極小值,當有極大值。
由線性代數的知識可知,若矩陣滿足
則矩陣是正定矩陣,或者說矩陣正定。
若矩陣滿足
則矩陣是負定矩陣,或者說矩陣負定。[3]
於是,二元函數在點處取得極值的條件表述為:二元函數在點處的黑塞矩陣正定,則取得極小值;在點處的黑塞矩陣負定,則取得極大值。
對於多元函數,若在點處取得極值,則極值存在的必要條件為
取得極小值的充分條件為
正定,即要求的各階主子式都大於零,即
取得極大值的充分條件為
負定。[4][5][6]