如果
a 是正定hermite矩陣,則
a可以分解為a=
llh 。證明可見任意矩陣教材。
引理由高斯分布的線性變換性質可知,如果x∼
n(μ,
σ),並且有滿秩線性變換y=
kx+b
,則y∼
n(kμ
+b,k
σk⊤)
證明:令x=
k−1(
y−b)
,則lnp
(x)=
c+(x
−μ)⊤
σ−1(
x−μ)
=c+[k−1
(y−b
)−μ]
⊤σ−1
[k−1
(y−b
)−μ]
] =c
+[y−
b−kμ
]⊤(k
−1)⊤
σ−1k
−1(y
−b−k
μ)因此,此時y∼
n(kμ
+b,k
σk⊤)
。證畢。
對任意高斯分布進行取樣如果x
∼n(0
,i) ,欲對y∼
n(μ,
σ)進行取樣,則首先對精度矩陣進行cholesky分解,即λ=
ll⊤ .進而,令y=
(l⊤)
−1x+
μ ,即可將標準正態分佈進行線性變換,得到任意高斯分布的樣本。
繪製橢圓
原理同對任意高斯分布進行取樣,標準正態分佈可當做標準圓,橢圓可當做任意高斯分布。通過將標準圓上的點進行變換:y=
(l⊤)
−1x+
b ,即可。
矩陣分解 Cholesky分解
矩陣分解是將矩陣拆解為數個矩陣的乘積,可分為三角分解 滿秩分解 qr分解 jordan分解和svd 奇異值 分解等。cholesky分解法是求解對稱正定線性方程組最常用的方法之一。可採用如下命令 r chol a 產生乙個上三角陣r,使r r a。若a為非對稱正定,則輸出乙個出錯資訊。r,p cho...
矩陣的Cholesky分解的Matlab實現
cholesky分解在matlab裡面有專門的函式chol 其呼叫格式為 r chol x 這一函式功能就不介紹了,但有些場合只能用最基礎的函式,所以,下面給出cholesky分解的最基礎形式。cholesky分解法 function x m chol a,b n,n size a x zeros ...
求解線性方程組 Cholesky分解法
求解線性方程組 cholesky分解法。源 用c 實現 這裡採用的是數值分析裡的演算法。在vc6.0下編譯通過,經測試沒大問題。求解線性方程組 cholesky分解法 本分解法僅適用於當 係數矩陣為對稱正定陣的情況 include include using namespace std 二維陣列動態...