Message Boards Message Boards

0
|
6264 Views
|
5 Replies
|
2 Total Likes
View groups...
Share
Share this post:
GROUPS:

How to find eigenvectors of an nxn matrix, knowing all the elements?

Posted 10 years ago

I have a matrix of size 2s+1 x 2s+1, we'll call the elements aij. All the elements below the diagonal are zero, so it's upper triangular. Along the diagonal, i.e. the aii elements, a11 = A+is, a22 = A+i(s-1), a33 = A+i(s-2) and so on down to a(2s+1)(2s+1) = A-is. The elements above the diagonal, that is the a_i,i+1 elements are all -i \epsilon^-1 Sqrt[2s]. All other entries are zero. The eigenvalues are obviously the diagonal elements. How do I put this kind of thing into Mathematica and find the general form of the eigenvectors? In other words, there will be 2s+1 eigenvectors, how do I find say the eigenvector for the eigenvalue (s-1) as an example. A and epsilon are constants.

Thanks.

POSTED BY: Paul Ryan
5 Replies
Posted 10 years ago

Hopefully the modified code below more closely matches the initial description:

s = 3;
diagonal = A + Table[i (s - i + 1), {i, 2 s + 1}]
offDiagonal = (2 s)^(1/2) \[Epsilon]^(-1) Table[-i, {i, 1, 2 s}];
m = Table[
   If[i < j, 0, 
    If[i == j, diagonal[[j]], 
     If[i == j + 1, offDiagonal[[j]], 0]]], {j, 2 s + 1}, {i, 
    2 s + 1}];
MatrixForm[m]
e = Eigenvalues[m]
v = Eigenvectors[m];
MatrixForm[v]

A pattern appears that very likely means a general form can be found.

POSTED BY: Jim Baldwin
Posted 10 years ago

One of the best features of this forum is the ability to modify code that is provided.

POSTED BY: Jim Baldwin
Posted 10 years ago

Use exactly what Professor Blinder recommends.

A brute force approach would using the Eigenvectors function would be to first write the Mathematica code to generate the matrix m, show the eigenvectors for several values of s, and hope for an epiphany.

s = 3;
diagonal = A + s Table[i (s - i + 1), {i, 2 s + 1}];
offDiagonal = (2 s)^(1/2) \[Epsilon]^(-1) Table[-i, {i, 1, 2 s}];
m = Table[
   If[i < j, 0, If[i == j, diagonal[[j]], offDiagonal[[j]]]], {j, 
    2 s + 1}, {i, 2 s + 1}];
MatrixForm[m]
Eigenvalues[m]
MatrixForm[Eigenvectors[m]]
POSTED BY: Jim Baldwin
Posted 10 years ago

This doesn't generate the correct matrix. For starters, there are elements in all entries above the diagonal instead of just the ones in "the diagonal above the diagonal", and the diagonal elements are also wrong. For s=1, the diagonal should be A+i, A, A-i.

POSTED BY: Paul Ryan

Eigenvectors[m]

POSTED BY: S M Blinder
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract