matlab中求特征值和特征向量的具体算法是什么啊?

matlab中求特征值和特征向量的具体算法是什么啊?(即eig和svd等的具体实现算法是什么呢?)

eig(A)主要用QR算法,如果A对称则使用对称QR算法(如果要特征向量的话有可能会用divide and conquer);
eig(A,B)用QZ算法,如果探测到A对称,B对称正定,则对B做Cholesky分解后再用对称QR算法;
svd的算法和对称QR算法类似。

这些不是几句话就能明白的,要学习一下矩阵计算(数值线性代数)的课程才能知道几十年前最简单的算法,软件中的算法在此基础上还增加了很多新技术,但基本方法是差不多的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-05
eig, svd 调用 LAPACK
用的算法按照不同的 A 情况不同。
有兴趣的话可以参考:
http://www.netlib.org/lapack/lug/node31.html --- eig
http://www.netlib.org/lapack/lug/node32.html --- svd
或者经典教材:
James W. Demmel, Applied Numerical Linear Algebra.
另:svd计算的是 奇异值 与 奇异向量。
第2个回答  2019-03-03
a=[11/4;41]
a=
1.00000.2500
4.00001.0000
>>[v,d]=eig(a)
v=
0.2425-0.2425
0.97010.9701
d=
20
00
按照这道题的计算过程算就可以了,eig是求特征值和特征向量命令,v是特征向量,是列向量,d是特征值矩阵,主对角线元素就是特征值,与特征向量的列对应的
相似回答