A-lx奇异且无解时的特征向量 [英] eigenvectors when A-lx is singular with no solution

查看:217
本文介绍了A-lx奇异且无解时的特征向量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

R如何找到以下矩阵的特征向量?特征值是2,2,所以特征向量需要求解solve(matrix(c(0,1,0,0),2,2)),它是没有解的奇异矩阵.

How is R able to find eigenvectors for the following matrix? Eigenvalues are 2,2 so eigenvectors require solving solve(matrix(c(0,1,0,0),2,2)) which is singular matrix with no solution.

> eigen(matrix(c(2,1,0,2),2,2))
$values
[1] 2 2
$vectors
[,1]          [,2] 
[1,]    0  4.440892e-16
[2,]    1 -1.000000e+00

> solve(matrix(c(0,1,0,0),2,2))
Error in solve.default(matrix(c(0, 1, 0, 0), 2, 2)) : 
Lapack routine dgesv: system is exactly singular

这两个例程本质上都做同样的事情.他们找到x使得(A-lambdaI)x = 0而不找到A-lambdaI的倒数.显然(0 1)是一种解决方案,但我不明白为什么未提出解决方案,以及如何手动解决方案.

Both the routines essentially do the same thing. They find x such that (A-lambdaI)x = 0 without finding the inverse of A-lambdaI. Clearly (0 1) is a solution but how I can't understand why solve did not come up with it and how do I manually solve it.

推荐答案

也许正在使用此处列出的一种算法:

Maybe it's using one of the algorithms listed here:

http://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms

?

根据 http://stat .ethz.ch/R-manual/R-devel/library/base/html/eigen.html eigen似乎在

According to http://stat.ethz.ch/R-manual/R-devel/library/base/html/eigen.html, eigen seems to use the LAPACK routine at http://netlib.org/lapack/double/dgeev.f (if you have a square matrix which is not symmetric).

注意:如果lambda是一个特征值,那么A - lambda * I是单数形式,但是为了找到特征向量,您确实需要将A - lambda * I求逆或求解一个方程式y = (A - lambda * I) * x(y不能为null)是正确的向量).找到满足

Note: you're right that A - lambda * I is singular if lambda is an eigenvalue but in order to find eigenvectors, one does need invert A - lambda * I or solve an equation y = (A - lambda * I) * x (with y not being the null vector). It is sufficient to find non-zero vectors x which satisfy

(A - lambda * I) * x = 0

一种策略是找到非奇异变换矩阵T,使(A - lambda * I) * T是上三角矩阵(即,对角线以下的所有元素均为零).因为A-lambda*I是奇数,所以T可以构造为使得对角线上的最后一个元素(如果特征值的多重性大于1,则甚至是更多对角元素)为零.

One strategy is to find a non-singular transformation matrix T such that (A - lambda * I) * T is an upper triangular matrix (i.e. all elements below the diagonal are zero). Because A-lambda*I is singular, T can be constructed such that the last element on the diagonal (or even more diagonal elements if the multiplicity of the eigenvalue is larger than one) is zero.

的向量z的最后一个元素等于非零值(即z = (0,....,0,1)),然后乘以(A-lambda *I) * T即可得到零向量.所以有一个:

A vector z which only has it's last element equal to a non-zero value (i.e. z = (0,....,0,1) ) will then give the zero vector when multiplied with (A-lambda *I) * T. So one has:

0 = ((A - lambda * I) * T) * z

或换句话说,T*zA的特征向量.

or in other words, T*z is an eigenvector of A.

这篇关于A-lx奇异且无解时的特征向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆