用R求出泛型矩阵的特征值

时间:2014-09-04 12:40:34

标签: r matrix character eigenvalue

有没有人知道使用R的方法来计算和显示由chr元素组成的泛型矩阵的特征值的特征多项式? 说即。

m <- matrix(c('a','b','c','d','e','f','g','h','i','l','m','n'),4,4) 

请考虑我必须将此方法应用于非常大的矩阵

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用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;