Calculating eigenvalues of one matrix

Click For Summary

Discussion Overview

The discussion revolves around calculating the eigenvalues of a specific 4x4 matrix using Mathematica and MATLAB. Participants explore methods for simplifying the computation and expanding the eigenvalues for small variables.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Exploratory

Main Points Raised

  • One participant reports difficulty in finding eigenvalues using MATLAB and Mathematica, stating that the eigenvalues are too complicated and involve infinite expressions.
  • Another participant claims that Mathematica can compute the eigenvalues quickly and provides the matrix along with the command used to obtain the eigenvalues.
  • It is noted that the eigenvalues correspond to roots of a quartic equation, and using the ToRadicals function can yield explicit solutions.
  • A participant expresses gratitude for the successful computation of eigenvalues but seeks assistance in expanding these eigenvalues for small values of x, y, and z.
  • One reply suggests using the Limit function for small argument expansions, but notes that Mathematica may struggle with complex exponentials in this context.
  • Another participant provides an alternative approach using substitution to evaluate the eigenvalues at small values, cautioning that this method may lead to cancellations depending on the direction of approach.
  • A later reply indicates that the participant found a suitable formula for series expansion in Mathematica, specifically using the Series function for small variables.

Areas of Agreement / Disagreement

There is no consensus on the best method for expanding the eigenvalues for small variables, as participants present different approaches and acknowledge potential issues with their methods.

Contextual Notes

Participants mention limitations related to the complexity of expressions and the behavior of Mathematica with complex exponentials, which may affect the validity of certain approaches.

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}]
 

Similar threads

  • · Replies 12 ·
Replies
12
Views
6K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
5K
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K