當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy linalg.cholesky用法及代碼示例


本文簡要介紹 python 語言中 numpy.linalg.cholesky 的用法。

用法:

linalg.cholesky(a)

Cholesky 分解。

返回 Cholesky 分解,L * L.H, 方陣a,其中L是下三角形,.H 是共軛轉置算子(如果a是實值)。a必須是 Hermitian(如果為實值,則為對稱)且是正定的。不進行檢查以驗證是否a是厄米特還是不是。此外,隻有下三角形和對角線元素a被使用。僅有的L實際上是返回的。

參數

a (…, M, M) 數組

Hermitian(對稱,如果所有元素都是實數),正定輸入矩陣。

返回

L (…, M, M) 數組

a 的上三角或下三角 Cholesky 因子。如果 a 是矩陣對象,則返回一個矩陣對象。

拋出

LinAlgError

如果分解失敗,例如,如果 a 不是正定的。

注意

廣播規則適用,有關詳細信息,請參閱 numpy.linalg 文檔。

Cholesky 分解通常用作求解的快速方法

(當 A 是 Hermitian/對稱和正定時)。

首先,我們求解

然後在

例子

>>> A = np.array([[1,-2j],[2j,5]])
>>> A
array([[ 1.+0.j, -0.-2.j],
       [ 0.+2.j,  5.+0.j]])
>>> L = np.linalg.cholesky(A)
>>> L
array([[1.+0.j, 0.+0.j],
       [0.+2.j, 1.+0.j]])
>>> np.dot(L, L.T.conj()) # verify that L * L.H = A
array([[1.+0.j, 0.-2.j],
       [0.+2.j, 5.+0.j]])
>>> A = [[1,-2j],[2j,5]] # what happens if A is only array_like?
>>> np.linalg.cholesky(A) # an ndarray object is returned
array([[1.+0.j, 0.+0.j],
       [0.+2.j, 1.+0.j]])
>>> # But a matrix object is returned if A is a matrix object
>>> np.linalg.cholesky(np.matrix(A))
matrix([[ 1.+0.j,  0.+0.j],
        [ 0.+2.j,  1.+0.j]])

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.linalg.cholesky。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。