5
在我的Python代碼,我想解決多項式特徵值問題:如何求解python中的多項式特徵值?
A0 + lambda*A1 + lambda^2*A2 + lambda^3*A3 + .... = 0
其中An
密集矩陣,lambda
是一個常數。在matlab中可以使用polyeig function來解決這個問題。看來在scipy中沒有相應的功能。到目前爲止,我能想到的唯一方法就是形成相應的伴隨矩陣。這產生了一個等價的線性特徵值問題,可以給現有的scipy求解器,但它更大,我相信它可能是非常有條件的。
任何人都可以提出一個現有的,開源的或免費提供的庫,可以解決這個問題嗎?我對Fortran庫很滿意,它可以通過f2py或C/C++庫鏈接到cython。
編輯:對於任何想解決python中的非線性特徵值問題的人來說,我自己寫的解決這個問題的代碼可以找到here。請注意,我處理非線性特徵值問題的更一般情況(就其對lambda具有非線性依賴性而言)。要了解該方法,請閱讀代碼註釋中提到的論文。
這是我已經知道的方法,如果我找不到更好的東西,我會使用它。這是低效率的,可能有病,所以我只能作爲最後的手段。不過謝謝。 – DaveP
好的,很抱歉!這只是討論中的一個人提到它是matlab函數的基礎,所以我認爲它是高效的。 – matehat