R语言构造矩阵B验证B³为单位矩阵数乘并求解对应标量
R实现矩阵三次幂验证与标量求解
操作步骤
- 构造目标矩阵B
给定长度为9的向量,按列填充为3×3方阵即可,R中matrix()函数默认按列排布元素。 - 计算矩阵三次幂
矩阵幂运算不能直接使用^运算符(该符号为逐元素幂计算),需要使用矩阵乘法运算符%*%连乘三次,得到B³。 - 验证结果并提取标量
若B³为单位矩阵的标量倍数,则其非对角元全为0,所有对角元取值一致,该统一取值就是所求标量。
实现代码
# 加载给定数据 data <- c(1,4,-3,2,2,-1,3,6,-3) # 构造3阶方阵B B <- matrix(data, nrow = 3) # 计算矩阵三次幂 B3 <- B %*% B %*% B # 打印B3查看结果 print(B3) # 提取标量:非对角元全为0时,非零元素的唯一值就是标量 scalar <- unique(as.vector(B3[B3 != 0])) print(scalar)
运行结果说明
- 构造得到的矩阵B为:
[,1] [,2] [,3] [1,] 1 2 3 [2,] 4 2 6 [3,] -3 -1 -3
- 计算得到的B³结果为:
[,1] [,2] [,3] [1,] -6 0 0 [2,] 0 -6 0 [3,] 0 0 -6
- 结果验证:B³的非对角元全为0,所有对角元均为-6,即B³ = -6 × I,其中I为3阶单位矩阵,对应的标量取值为**-6**。
提示:如果需要频繁计算矩阵高次幂,可安装
expm包后使用B %^% 3的写法直接计算矩阵三次幂,无需手动连乘。
内容的提问来源于stack exchange,提问作者S ABHISHEK
相关产品推荐
相关产品推荐

