Motivasi : Saya sedang menulis estimator keadaan di MATLAB (filter Kalman tanpa pewangi), yang menyerukan pembaruan akar kuadrat (segitiga-atas) dari matriks kovarians pada setiap iterasi (yaitu, untuk matriks kovarian , memang benar bahwa ). Agar saya dapat melakukan perhitungan yang diperlukan, saya perlu melakukan Update dan Downdate Cholesky Rank-1 menggunakan fungsi MATLAB .cholupdate
Masalah : Sayangnya, selama iterasi, matriks ini terkadang dapat kehilangan kepastian positif. Downdate Cholesky gagal pada matriks non-PD.
Pertanyaan saya adalah : adakah cara sederhana dan dapat diandalkan dalam MATLAB untuk membuat positif-pasti?
( atau lebih umum, apakah ada cara yang baik untuk membuat matriks kovarian tertentu pasti-positif? )
Catatan :
- adalah peringkat penuh
- Saya sudah mencoba pendekatan eigendecomposition (yang tidak berhasil). Ini pada dasarnya melibatkan menemukan , mengatur semua elemen negatif dari , dan merekonstruksi mana adalah matriks dengan hanya elemen positif.
- Saya menyadari pendekatan Higham (yang diimplementasikan dalam R as
nearpd
), tetapi tampaknya hanya memproyeksikan ke matriks PSD terdekat. Saya memerlukan matriks PD untuk pembaruan Cholesky.