function [lambda, x] = double_qr(A, tol) % 双重步QR方法求解特征值和特征向量 % 输入: % A: n阶实对称矩阵 % tol: 迭代停止条件,当最大下三角元素的绝对值小于tol时停止迭代 % 输出: % lambda: 长度为n的特征值向量 % x: n×n的特征向量矩阵,第i列为第i个特征值对应的特征向量

n = size(A, 1); x = eye(n); % 初始化特征向量矩阵 while true % QR分解 [Q, R] = qr(A); A = R * Q; x = x * Q; % 判断是否满足停止条件 if abs(A(n, n-1)) < tol break; end end lambda = diag(A); end

双重步qr方法的MATLAB程序

原文地址: https://www.cveoy.top/t/topic/bRL8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录