Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Calculating eigenvalues of one matrix

  1. Nov 13, 2012 #1
    hi friends

    i want to find eigenvalues of a 4*4 matrix but niether MATLAB nor MATHEMATICA cant 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:
     

    Attached Files:

  2. jcsd
  3. Nov 14, 2012 #2
    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
     
  4. Nov 14, 2012 #3
    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 wanna 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: Nov 14, 2012
  5. Nov 14, 2012 #4
    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: Nov 14, 2012
  6. Nov 15, 2012 #5
    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}]
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook