QR算法求解18阶Hilbert矩阵特征值结果异常,请求代码排查
问题排查:18阶Hilbert矩阵QR迭代特征值误差异常
需求与问题
- 任务要求:对18阶Hilbert矩阵执行6次QR方法迭代,计算近似特征值
λ_i与MATLABeig函数计算的特征值λ的最大绝对误差max|λ_i-λ|,可选结果如下:
A)7.4495e-03
B)7.4321e-01
C)7.8451e-05
D)7.1563e-08
E)7.9932e-10 - 异常情况:自行编写的MATLAB代码运行结果与上述选项完全不符,需排查问题原因。
所用MATLAB代码
close all;clear;clc; m_max = 6; A = hilb(18); [d,m] = qr_base(A,m_max) val = eig(A) err = max(abs(d-val)) function [d,m] = qr_base(A,m_max) %convergence is guaranteed only if A has eigenvalues with distinct absolute value for m = 1:m_max [Q,R] = qr(A); A = R*Q; end d = diag(A); end
预期与实际偏差
预期通过QR迭代得到的近似特征值与eig函数结果的误差应匹配选项中的某一个,但实际计算结果完全偏离预期。
内容的提问来源于stack exchange,提问作者Bitwoded S.Demissie
相关产品推荐
相关产品推荐

