6
$\begingroup$

I have the following 3X3 matrix M and I wish to find its eigenvectors and eigenvalues

M = {{-I*ω + Γ/2, I*g1, 
0}, {I*g1, -I*ω + κ1/2, I*g2}, {0, 
I*g2, -I*ω + κ2/2}}

Simply doing

Eigenvectors[M]

Returns the error

Eigenvectors: Unable to find all eigenvectors.

Doing

Eigenvalues[M] 

Returns a long list of numbers, variables and the complex identity I. Also some numbers or variables has a # sign attached to it. I suspect it's a condition statement but I'm not sure how to deal with it. Would appreciate any assistance I can get. Thanks for the help in advance.

$\endgroup$
  • $\begingroup$ Which version of Mathematica are you using? It works for me. The second part is also ok. Try using some values of your constants. $\endgroup$ – Bikash Jul 24 '18 at 18:59
  • $\begingroup$ I'm using 11.3 Student Edition. Well it doesn't work for me clearly. I'm not suppose to set the constants yet for [CapitalGamma], [Kappa}1, [Kappa]2, g1, g2 but even when I did, I'm still getting a # sign in the eigenvalues. Could you elaborate on what you did to make it work ? $\endgroup$ – kowalski Jul 24 '18 at 19:07
  • $\begingroup$ I have the same problem with version 11.3 on macOS. The error message is Eigenvectors::eivec0. $\endgroup$ – Henrik Schumacher Jul 24 '18 at 19:21
  • 4
    $\begingroup$ Might be a bug, I'll check when I get a chance. $\endgroup$ – Daniel Lichtblau Jul 24 '18 at 21:11
  • $\begingroup$ The eigenvectors of $M$ and $M + i \omega I$ where $I$ is the identity matrix are identical, so just find the eigenvectors of $M + i \omega I$. $\endgroup$ – Carl Woll Aug 1 '18 at 0:01
1
$\begingroup$
M = {{-I*ω + Γ/2, I*g1, 
    0}, {I*g1, -I*ω + κ1/2, I*g2}, {0, 
    I*g2, -I*ω + κ2/2}};

ev = Eigenvalues[M];

The Eigenvalues contain Root objects. Looking at the first one

ev[[1]]

(* 1/2 Root[-4 g2^2 Γ - 
    4 g1^2 κ2 - Γ κ1 κ2 + 
    8 I g1^2 ω + 8 I g2^2 ω + 
    2 I Γ κ1 ω + 
    2 I Γ κ2 ω + 
    2 I κ1 κ2 ω + 4 Γ ω^2 + 
    4 κ1 ω^2 + 4 κ2 ω^2 - 8 I ω^3 + 
    4 g1^2 #1 + 
    4 g2^2 #1 + Γ κ1 #1 + Γ κ2 #1 + \
κ1 κ2 #1 - 4 I Γ ω #1 - 
    4 I κ1 ω #1 - 4 I κ2 ω #1 - 
    12 ω^2 #1 - Γ #1^2 - κ1 #1^2 - κ2 #1^2 \
+ 6 I ω #1^2 + #1^3 &, 1] *)

Low-order Root objects can be converted to radicals with ToRadicals

ev1 = ev[[1]] // ToRadicals

(* 1/2 (-((2^(
        1/3) (12 g1^2 + 
          12 g2^2 - Γ^2 + Γ κ1 - \
κ1^2 + Γ κ2 + κ1 κ2 - \
κ2^2))/(3 (-36 g1^2 Γ + 72 g2^2 Γ + 
          2 Γ^3 - 36 g1^2 κ1 - 36 g2^2 κ1 - 
          3 Γ^2 κ1 - 3 Γ κ1^2 + 
          2 κ1^3 + 72 g1^2 κ2 - 36 g2^2 κ2 - 
          3 Γ^2 κ2 + 
          12 Γ κ1 κ2 - 3 κ1^2 κ2 - 
          3 Γ κ2^2 - 3 κ1 κ2^2 + 
          2 κ2^3 + √(4 (12 g1^2 + 
                12 g2^2 - Γ^2 + Γ κ1 - \
κ1^2 + Γ κ2 + κ1 κ2 - \
κ2^2)^3 + (-36 g1^2 Γ + 72 g2^2 Γ + 
               2 Γ^3 - 36 g1^2 κ1 - 36 g2^2 κ1 - 
               3 Γ^2 κ1 - 
               3 Γ κ1^2 + 2 κ1^3 + 
               72 g1^2 κ2 - 36 g2^2 κ2 - 
               3 Γ^2 κ2 + 
               12 Γ κ1 κ2 - 
               3 κ1^2 κ2 - 3 Γ κ2^2 - 
               3 κ1 κ2^2 + 2 κ2^3)^2))^(1/3))) + (1/(
   3 2^(1/3)))((-36 g1^2 Γ + 72 g2^2 Γ + 
     2 Γ^3 - 36 g1^2 κ1 - 36 g2^2 κ1 - 
     3 Γ^2 κ1 - 3 Γ κ1^2 + 
     2 κ1^3 + 72 g1^2 κ2 - 36 g2^2 κ2 - 
     3 Γ^2 κ2 + 12 Γ κ1 κ2 - 
     3 κ1^2 κ2 - 3 Γ κ2^2 - 
     3 κ1 κ2^2 + 
     2 κ2^3 + √(4 (12 g1^2 + 
           12 g2^2 - Γ^2 + Γ κ1 - \
κ1^2 + Γ κ2 + κ1 κ2 - \
κ2^2)^3 + (-36 g1^2 Γ + 72 g2^2 Γ + 
          2 Γ^3 - 36 g1^2 κ1 - 36 g2^2 κ1 - 
          3 Γ^2 κ1 - 3 Γ κ1^2 + 
          2 κ1^3 + 72 g1^2 κ2 - 36 g2^2 κ2 - 
          3 Γ^2 κ2 + 
          12 Γ κ1 κ2 - 3 κ1^2 κ2 - 
          3 Γ κ2^2 - 3 κ1 κ2^2 + 
          2 κ2^3)^2))^(1/3)) + 
   1/3 (Γ + κ1 + κ2 - 6 I ω)) *)

The complexity/length of this expression is why a Root object is used to represent it in more compact form.

To avoid the Root objects you can use the option Cubics

Eigenvalues[M, Cubics -> True]

EDIT: As a workaround for the Eigenvectors you can try

Simplify[Eigenvectors[M /. Complex[0, -1] -> mi, Cubics -> True] /. mi -> -I]
$\endgroup$
  • $\begingroup$ I didn't know you can do that but this is what I'm looking for. Thank you! Edit: The Eigenvectors still won't show itself. I did Eigenvectors[M]//ToRadicals but it's returning the same error, saying unable to find all eigenvectors $\endgroup$ – kowalski Jul 24 '18 at 19:10
  • $\begingroup$ I don't get the I -> i part. Are you saying replace the complex identity I to a lower case i and then switch it back again at the end? It doesn't work unfortunately. $\endgroup$ – kowalski Jul 24 '18 at 19:54
  • 1
    $\begingroup$ @kowalski - I must have had an old definition lying around. Try the revised workaround. $\endgroup$ – Bob Hanlon Jul 24 '18 at 20:03
  • $\begingroup$ Thank you very much! That works!! $\endgroup$ – kowalski Jul 24 '18 at 20:18
0
$\begingroup$

I tried this and works:

 M = {{-I*ω + Γ/2, I*g1, 
        0}, {I*g1, -I*ω + κ1/2, I*g2}, {0, 
        I*g2, -I*ω + κ2/2}};
    EVec = Eigenvectors[M]; (*gives all eigen vectors*)
    EVec[[1]] (*gives first eigen vector*)
    Eval = Eigenvalues[M]; (*gives all eigen values*)
    Eval[[1]]  (*gives first eigen value*)

You may try this as well,

 {eval, evec} = Eigensystem[M];
    eval 
    evec
$\endgroup$
  • $\begingroup$ Again, the Eigenvectors returns the same error. Namely: Doing EVec = Eigenvectors[M]; returns the error Eigenvectors: Unable to find all eigenvectors. Could you please print the output so I know what you're comparing it. Bob Hanlon provided the solution for the eigenvalue but I still need to compute the eigenvectors. $\endgroup$ – kowalski Jul 24 '18 at 19:29
  • $\begingroup$ Hi, Have tried with Mathematica version 11.0.1.0. It works there. But when I run with version 11.3.0.0, I get the same error as yours. $\endgroup$ – Bikash Jul 24 '18 at 20:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.