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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 23:47:59

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

matlab中求特征值和特征向量的具体算法是什么啊?(即eig和svd等的具体实现算法是什么呢?)
eig(A)主要用QR算法,如果A对称则使用对称QR算法(如果要特征向量的话有可能会用divide and conquer);
eig(A,B)用QZ算法,如果探测到A对称,B对称正定,则对B做Cholesky分解后再用对称QR算法;
svd的算法和对称QR算法类似.
这些不是几句话就能明白的,要学习一下矩阵计算(数值线性代数)的课程才能知道几十年前最简单的算法,软件中的算法在此基础上还增加了很多新技术,但基本方法是差不多的.

eig, svd 调用 LAPACK
用的算法按照不同的 A 情况不同。
有兴趣的话可以参考:
http://www.netlib.org/lapack/lug/node31.html --- eig
http://www.netlib.org/lapack/lug/node32.html --- svd
或者经典教材:
...

全部展开

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计算的是 奇异值 与 奇异向量。

收起