You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中创建对称三对角Wilkinson矩阵并计算其特征值

在线性代数中,Wilkinson矩阵是N阶对称三对角矩阵,拥有多对接近但不完全相等的特征值,可应用于科学计算、数值线性代数、信号处理等众多领域。

R语言实现方案

1. 创建7阶Wilkinson矩阵

提供两种实现方式,小阶数场景可直接用第一种:

# 方法1:基础包直接构造
# 初始化7阶全0矩阵
wilkinson_mat <- matrix(0, nrow = 7, ncol = 7)
# 填充主对角线元素
diag(wilkinson_mat) <- c(3, 2, 1, 0, 1, 2, 3)
# 填充上下次对角元素(值均为1)
for (i in 1:(nrow(wilkinson_mat)-1)) {
  wilkinson_mat[i, i+1] <- 1
  wilkinson_mat[i+1, i] <- 1
}
# 验证输出
print(wilkinson_mat)

如果需要构造高阶Wilkinson矩阵,可使用Matrix包提升构造效率:

# 方法2:Matrix包高效构造
# 首次使用先安装包:install.packages("Matrix")
library(Matrix)
wilkinson_mat <- as.matrix(
  bandSparse(
    n = 7,
    k = c(-1, 0, 1), # 指定要赋值的对角线位置:次下、主、次上
    diag = list(rep(1, 6), c(3,2,1,0,1,2,3), rep(1,6))
  )
)

2. 计算矩阵特征值

直接调用R内置的eigen()函数即可完成特征值计算:

# 计算矩阵的特征值与特征向量
eig_res <- eigen(wilkinson_mat)
# 单独提取特征值向量
eigen_values <- eig_res$values
# 输出特征值
print(eigen_values)

输出的特征值可观察到多组成对接近的数值,符合Wilkinson矩阵的典型特性。

内容的提问来源于stack exchange,提问作者rubengavidia0x

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:15:06