1 构建一个Jordan块
A_Jordan_Bulk <- function(lamda, n)
{
A <- diag(lamda,n)
if(n>=2)
{
for(i in 1:(n-1))
{
A[i,i+1] <- 1
}
}
A
}
2 怎么由Jordan块组成Jordan矩阵
#lamdas 是特征值,
#Eigenvalue_dims 特征值的重数
Jordan_matrix <- function(lamdas, Eigenvalue_dims)
{
if(length(lamdas) == length(Eigenvalue_dims)&
length(Eigenvalue_dims) == 1)#特征值个数1
{
Jordan_matrix_result <- A_Jordan_Bulk(lamdas,Eigenvalue_dims)
}
else #特征值个数>=2
{
if(length(lamdas) == length(Eigenvalue_dims))
{
sum_dims <- sum(Eigenvalue_dims)
cumsum_dims <- cumsum(Eigenvalue_dims)
Jordan_ma