0

Suppose I have the following input


a = Import["d:\am.txt", "Table"];

b = Import["d:\bm.txt", "Table"];

c = Eigenvalues[N[{a, b}, 5]];

Min[c]


where am.txt is

3.0 2.0

2.0 3.0

bm.txt is

1.0 0.8

0.8 1.0

Mathematica gives me 2.77778

My question is, how to obtain the eigenvector correspond to this eigenvalue? I can figure it out by hand for 2*2 problem. But for general case, it is not so simple..

user26143
  • 185
  • 1
  • 9
  • 1
    You may use Eigensystem to get the eigenvalues together with their corresponding eigenvectors. For example, Eigensystem[N[{a, b}, 5], -1] for the smallest eigenvalue. – Oleksandr R. Mar 04 '15 at 14:58
  • Good thing I updated the window; almost posted same a minute later. – Daniel Lichtblau Mar 04 '15 at 15:00
  • @Oleksandr R The tricky point is, Eigensystem choose the smallest absolute of eigenvalues, Min choose the smallest eigenvalue. If there are -1.0 and 0.1 two eigenvalues, Eigensystem will choose 0.1, while Min choose -1.0 (this is what I want) – user26143 Mar 04 '15 at 15:40
  • Okay, then in that case perhaps you have to use Eigensystem without the second argument and retrieve all eigenvalues/vectors, and pick the one you want. – Oleksandr R. Mar 04 '15 at 15:52
  • If there are thousands eigenvalues and eigenvectors, I feel it is quite tedious to pick up the right one from the screen... – user26143 Mar 04 '15 at 16:20
  • 1
    If the matrix is Hermitian so all real eigenvalues, then you can do an estimate for the maximal eigenvalue norm, call it m, and use Eigensystem[mat-IdentityMatrix[Length[mat]]*m, 1]. Note that we now are taking the largest, not smallest. – Daniel Lichtblau Mar 04 '15 at 22:11
  • 1
    Re duplicate, I think the correct one is here (which is referenced from the one provided). – Daniel Lichtblau Mar 04 '15 at 22:12
  • @DanielLichtblau I think this prescription works for eigenvalue problem Ac= \lambda c, but necessarily for generalized eigenvalue problem Ac= \lambda B c..., if I am not mistaken... – user26143 Mar 05 '15 at 09:13

0 Answers0