-1
你們有沒有人知道一種方法來使用R來計算和顯示由chr元素組成的通用矩陣的特徵值的特徵多項式? 說即用R找到一個通用矩陣的特徵值
m <- matrix(c('a','b','c','d','e','f','g','h','i','l','m','n'),4,4)
請考慮,我有這種方法適用於非常大的矩陣
預先感謝您
你們有沒有人知道一種方法來使用R來計算和顯示由chr元素組成的通用矩陣的特徵值的特徵多項式? 說即用R找到一個通用矩陣的特徵值
m <- matrix(c('a','b','c','d','e','f','g','h','i','l','m','n'),4,4)
請考慮,我有這種方法適用於非常大的矩陣
預先感謝您
您可以用Ryacas
包做到這一點,但你必須跳過必要的箍來首先在您的系統上安裝Yacas。
library("Ryacas")
m <- matrix(letters[1:16],4,byrow=TRUE)
yrow <- function(x) paste0("{",paste(x,collapse=","),"}")
yrow(m[1,]) ## "{a,b,c,d}"
ymat <- function(x) yrow(apply(x,1,yrow))
cheqstr <- function(x) {
paste0("Expand(CharacteristicEquation(",
ymat(x),",x),x)")
}
yacas(cheqstr(m))
## (a-x)*(f-x)*(k-x)*(p-x)-(a-x)*(f-x)*l*o+(a-x)*h*j*o-d*e*j*o-
## (a-x)*g*j*(p-x)+(a-x)*g*l*n-(a-x)*h*(k-x)*n+d*e*(k-x)*n+c*e*j*(p-x)-
## c*e*l*n+c*h*i*n-d*g*i*n-b*e*(k-x)*(p-x)+b*e*l*o-b*h*i*o+d*(f-x)*i*o+
## b*g*i*(p-x)-b*g*l*m+b*h*(k-x)*m-d*(f-x)*(k-x)*m-c*(f-x)*i*(p-x)+
## c*(f-x)*l*m-c*h*j*m+d*g*j*m;
這可能有助於包含一些細節,以確定由chr元素組成的通用矩陣的特徵值的特徵多項式到底是什麼。這裏的大多數人都是程序員,並不熟悉數字空間中的深奧數學...... – 2014-09-04 12:55:53
我認爲*(??)OP可能正在尋找符號計算(除了通過使用外部接口象Yacas這樣的符號計算器) – 2014-09-04 13:02:53
感謝您的建議,但我認爲簡短的定義可能無助於誰不熟悉矩陣代數(或將通用方法的解決方案視爲字符空間中的深奧數學......),當然我不能給這裏是關於這個話題的一堂課。也許只有專業用戶纔可以回覆。 – Shatz 2014-09-04 13:11:55