Calculating eigenvalues of one matrix

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 2K views
quin
Messages
50
Reaction score
0
hi friends

i want to find eigenvalues of a 4*4 matrix but niether MATLAB nor MATHEMATICA can't solve it. Both of programs said that eiganvalues of matrix is too complicated and have infinite sentences.
now what can i do?is there anyway that simplify the steps for MATLAB or mathematica?

thanks for your help

the matrix is here:
 

Attachments

Physics news on Phys.org
Mathematica gives four eigenvalues in a few seconds for

a = {{0, 1 + E^(-I*x) + E^(-I*z) + E^(-I*(x + z)), 1 + E^(-I*x) + E^(-I*y) + E^(-I*(x + y)), 1 + E^(-I*y) + E^(-I*z) + E^(-I*(y + z))},
{1 + E^(I*x) + E^(I*z) + E^(I*(x + z)), 0, 1 + E^(-I*y) + E^(I*z) + E^(-I*(y - z)), 1 + E^(I*x) + E^(-I*y) + E^(I*(x - y))},
{1 + E^(I*x) + E^(I*y) + E^(I*(x + y)), 1 + E^(I*y) + E^(-I*z) + E^(I*(y - z)), 0, 1 + E^(I*x) + E^(-I*z) + E^(I*(x - z))},
{1 + E^(I*y) + E^(I*z) + E^(I*(y + z)), 1 + E^(-I*x) + E^(I*y) + E^(-I*(x - y)), 1 + E^(-I*x) + E^(I*z) +E^(-I*(x - z)), 0}};
Eigenvalues[a]

Each of those is a root of a quartic equation. Using ToRadicals on each of those will give you the explicit solution
 
Bill Simpson said:
Mathematica gives four eigenvalues in a few seconds for

a = {{0, 1 + E^(-I*x) + E^(-I*z) + E^(-I*(x + z)), 1 + E^(-I*x) + E^(-I*y) + E^(-I*(x + y)), 1 + E^(-I*y) + E^(-I*z) + E^(-I*(y + z))},
{1 + E^(I*x) + E^(I*z) + E^(I*(x + z)), 0, 1 + E^(-I*y) + E^(I*z) + E^(-I*(y - z)), 1 + E^(I*x) + E^(-I*y) + E^(I*(x - y))},
{1 + E^(I*x) + E^(I*y) + E^(I*(x + y)), 1 + E^(I*y) + E^(-I*z) + E^(I*(y - z)), 0, 1 + E^(I*x) + E^(-I*z) + E^(I*(x - z))},
{1 + E^(I*y) + E^(I*z) + E^(I*(y + z)), 1 + E^(-I*x) + E^(I*y) + E^(-I*(x - y)), 1 + E^(-I*x) + E^(I*z) +E^(-I*(x - z)), 0}};
Eigenvalues[a]

Each of those is a root of a quartic equation. Using ToRadicals on each of those will give you the explicit solution

thank you so much dear it worked

But I have another question too
I found 4 eigenvalues and they are 4 sentences in terms of x,y,z

now I want to expand all of them (4 of them) for "small x and small y and small z"

can you give me the the suitable formula for mathematica for small argument expansion?

thank you
 
Last edited:
If you had an "ordinary" expression then

Limit[Limit[Limit[p, x -> 0], y -> 0], z -> 0]

would give you the limit as your three variables go to zero, but Mathematica ToRules and Limit doesn't seem happy that everything you have is in terms of of complex exponentials.

Perhaps this will help you

Eigenvalues[a] //. {x -> 10^-9, y -> 10^-9, z -> 10^-9}

returns

{-2 - E^(-I/1000000000) - E^(I/1000000000),
-2 - E^(-I/1000000000) - E^(I/1000000000),
-2 - E^(-I/1000000000) - E^(I/1000000000),
3*(2 + E^(-I/1000000000) + E^(I/1000000000))}

BUT that is only approaching zero from one special direction and that direction is going to result in a lot of cancellations in your eigenvalues.

Perhaps you need to think carefully about exactly what you are trying to accomplish. That might give you an idea of what direction you want to approach this from. No pun intended.
 
Last edited:
Thanks for your answer
and also now I found the formula "series" that expands the expression in terms of small x and small y and small z :
Series[..., {x,0,2},{y,0,2}, {z,0,2}]