Thursday, March 24, 2016

manifold gu A manifold of dimension is a connected Hausdorff space ✁ for which every point has a neighborhood ✂ that is homeomorphic to an open subset ✄ of ☎✝✆ . Such a homeomorphism ✞✠✟✡✂☞☛✌✄ is called a coordinate chart.

http://www3.cs.stonybrook.edu/~gu/publications/pdf/2005/riemann_iccv05.pdf

A manifold of dimension is a connected Hausdorff space ✁ for which every point has a neighborhood ✂ that is homeomorphic to an open subset ✄ of ☎✝✆ . Such a homeomorphism ✞✠✟✡✂☞☛✌✄ is called a coordinate chart.


How can the eigenvector corresponding to zero eigenvalue be found out? I was trying with the following simple matrix in Matlab:
A=[123234345].

In matlab computations, the matrix seemed nearly singular with one of the eigenvalues very close to zero (3e-15). That means the usual shifted inverse power methods for finding out the unit eigenvector corresponding to an eigenvalue won't work. But Matlab returns an eigenvector corresponding to 0. How? Basically, I would like to develop a program to compute this eigenvector given any singular matrix. What algorithm should I use?
Edit: (1) Edited to reflect that the 'nearly singular' comment was corresponding to Matlab calculation. (2) Edited to specify the actual question.
shareciteimprove this question
1 
If all the elements of a matrix are integers, as here, then the determinant is an integer. So 'nearly singular' is impossible! – TonyK Mar 24 '11 at 14:14 

2 Answers

This matrix is singular, the determinant is zero, so it has an eigenvector for eigenvalue 0. Nothing mysterious there -- you might want to check the calculation that made you think it was only nearly singular.
As for how to find eigenvectors with eigenvalue 0: They are just the solutions of the homogeneous system of linear equations corresponding to this matrix, Ax=0, so you can use e.g. Gaussian elimination.
shareciteimprove this answer
   
Thanks for the comment. I mentioned "nearly singular" because, in matlab the eigenvalue seemed to 3e-15 with long formatting. I of course realize that the matrix is completely singular, but I was wondering why Matlab had it that way which made it seem nearly singular as opposed to completely singular. I will rephrase the original question to reflect that. – Samik R Mar 24 '11 at 18:22
   
Just edited OP as mentioned above, and change the question to "I would like to develop a program to compute this eigenvector given any singular matrix. What algorithm should I use?" Thanks again for your response. – Samik R Mar 24 '11 at 18:35
   
@Samik: "in MATLAB the eigenvalue seemed to 3e-15 with long formatting." - because MATLAB uses floating point arithmetic; thus, don't expect supposedly zero results to be *exactly* zero. – J. M. Apr 11 '11 at 2:20
A matrix A has eigenvalue λ if and only if there exists a nonzero vector x such that Ax=λx. This is equivalent to the existence of a nonzero vector x such that (AλI)x=0. This is equivalent to the matrix AλI having nontrivial nullspace, which in turn is equivalent to AλI being singular (determinant equal to 0).
In particular, λ=0 is an eigenvector if and only if det(A)=0. If the matrix is "nearly singular" but not actually singular, then λ=0 is not an eigenvalue.
As it happens,
det(A)=|3445|+2|2435|+3|2334|=(15+16)+2(1012)+3(8+9)=14+3=0,
so the matrix is not "nearly singular", it is just plain singular.
The eigenvectors corresponding to λ are found by solving the system (AλI)x=0. So, the eigenvectors corresponding to λ=0 are found by solving the system (A0I)x=Ax=0. That is: solve
x2y+3z=02x3y+4z=03x4y+5z=0.
The solutions (other than the trivial solution) are the eigenvectors. A basis for the solution space (the nullspace of A) is a basis for the eigenspace Eλ.
Added. If you know a square matrix is singular, then finding eigenvectors corresponding to 0 is equivalent to solving the corresponding system of linear equations. There are plenty of algorithms for doing that: Gaussian elimination, for instance (Wikipedia even has pseudocode for implementing it). If you want numerical stability, you can also use Grassmann's algorithm.

No comments:

Post a Comment