我有一個非常大的吸收馬爾可夫鏈(從10個州到數百萬個規模的問題)非常稀疏(大多數州只能對4或5個其他州作出反應)。計算吸收馬爾可夫鏈基本矩陣的最佳方法是什麼?
我需要計算這條鏈的基本矩陣的一行(起始狀態中的每個給定狀態的一個平均頻率)。
通常情況下,我會通過計算(I - Q)^(-1)
做到這一點,但我一直沒能找到實現稀疏矩陣求逆算法一個好的圖書館!我看過幾篇論文,其中大部分是P.h.D.水平的工作。
我的谷歌搜索結果大部分指向我的帖子談論如何解決線性(或非線性)時,方程組的一個不應使用矩陣求逆...我沒有找到特別有幫助。基本矩陣的計算是否類似於求解一個方程組,我只是不知道如何用另一個的形式表達一個矩陣?
所以,我提出了兩個具體的問題:
什麼是計算一個稀疏矩陣的逆的行(或所有行)的最好方法?
OR
什麼是計算大量吸收馬爾可夫鏈的基本矩陣的行的最佳方式是什麼?
Python解決方案將會非常棒(因爲我的項目目前還是一個概念驗證),但是如果我必須用一些好的Fortran或C來弄髒我的手,那不是問題。
編輯:我剛剛意識到矩陣A的逆矩陣B可以被定義爲AB = I,其中I是單位矩陣。這可能允許我使用一些標準的稀疏矩陣解算器來計算反算......我必須跑掉,所以請隨時完成我的思路,我開始認爲這可能只需要一個真正的基本矩陣財產...
數量的變化。如果你想要一個Python的解決方案,請貼上標籤'python'。還有其他的堆棧交換也可能或多或少有用。 – 2012-07-29 00:38:04
我正在通過PGM上的一些東西,並想知道是否有一種方法來計算這一般 - 沒有稀疏矩陣的想法,所以祝你好運! – argentage 2012-08-20 20:50:12