# How can I get the Eigen system of a certain matrix? [closed]

How can I get Eigen system of c, where c = a - iota * b?

a = {{1/4 (1 + E^(-2 t) + 2 E^(2 t)), 0,
1/4 (3 - E^(-2 t) - 2 E^(2 t)), 0, 1/4 (-3 + E^(-2 t) + 2 E^(2 t)),
0}, {0, 1/4 (1 + E^(-2 t) + 2 E^(2 t)), 0,
1/4 (-3 + E^(-2 t) + 2 E^(2 t)), 0,
1/4 (-3 + E^(-2 t) + 2 E^(2 t))}, {1/4 (3 - E^(-2 t) - 2 E^(2 t)),
0, 1/4 (-7 + E^(-2 t) + 10 E^(2 t)), 0,
1/4 (3 - E^(-2 t) - 2 E^(2 t)), 0}, {0,
1/4 (-3 + E^(-2 t) + 2 E^(2 t)), 0,
1/4 (-7 + E^(-2 t) + 10 E^(2 t)), 0,
1/4 (-3 + E^(-2 t) + 2 E^(2 t))}, {1/4 (-3 + E^(-2 t) + 2 E^(2 t)),
0, 1/4 (3 - E^(-2 t) - 2 E^(2 t)), 0,
1/4 (1 + E^(-2 t) + 2 E^(2 t)), 0}, {0,
1/4 (-3 + E^(-2 t) + 2 E^(2 t)), 0,
1/4 (-3 + E^(-2 t) + 2 E^(2 t)), 0,
1/4 (1 + E^(-2 t) + 2 E^(2 t))}};
b = {{0, -1, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0}, {0, 0, 0, -1, 0, 0}, {0,
0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, -1, 0}};
c=a-I*b;

• Presumably you have tried Eigensystem[c] // FullSimplify. The Root objects are the most compact form. While you can use ToRadicals to convert to explicit radicals, this would significantly lengthen the expressions. – Bob Hanlon Aug 11 '19 at 15:16
• @BobHanlon sir i want to guess negative eigenvalue and corresponding eigenvector??? how can i do??? – naveed anjum Aug 12 '19 at 5:00
• I have no idea what your comment means. Post a new question once you have spent some time clarifying what you are trying to achieve and what specific problems you are having. – Bob Hanlon Aug 12 '19 at 11:50

When sums and differences of Exp[x] and Exp[-x] appear, try ExpToTrig. In this case we can use it to re-defined the matrix $$c$$ as

c = ExpToTrig[a] - I * b;


We notice that $$c$$ is Hermitian, so we know the eigenvalues are real numbers, no matter what they look like. Now we calculate the eigenvectors and their eigenvalues as

{eval, evec} = Eigensystem[c];


We look at the 6 eigenvalues (using eval//Column) and see the same expressions repeated in each eigenvalue. Notice the first 3 of eigenvalues are 1/4 times the roots of a given third-order polynomial. Also notice the other 3 eigenvalues are 1/4 times the roots of a different third-order polynomial. The polynomials are

p1 = First[First[eval]/.Root[z_, _] :> z] ;
p2 = First[Last[eval]/.Root[z_, _] :> z] ;


So we could write the eigenvalues as

eval2 = 1/4 { Root[p1, 1], Root[p1, 2], Root[p1, 3],
Root[p2, 1], Root[p2, 2], Root[p2, 3] } ;

eval == eval2 //Simplify

(* True *)


The eigenvectors are more complicated. We notice the same expressions appear in the eigenvectors as in the eigenvalues. The eigenvector components are functions of the eigenvalues. To simplify our expressions, let's call the k-th eigenvalue $$\lambda_k$$ and rewrite the eigenvectors in terms of the $$\lambda$$'s as

symbol = {λ1, λ2, λ3, λ4, λ5, λ6};
v = Table[evec[[k]] /. Root[___] -> 4 symbol[[k]], {k, 6}];


The expressions are still complicated, but the Root functions are replaced by $$\lambda$$'s, so that's an improvement. (Caution: that last substitution has not been checked. Make sure it's right before using it.)

Looking over the eigenvectors, we see some expressions are repeated. For instance 3 Cosh[2 t] + Sinh[2 t] keeps appearing. Or even -3 + 3 Cosh[2t] + Sinh[2t]. And there's another term -4 λ1 + 4 Cosh[2 t] + 4 Sinh[2 t]. So, let's define a new parameter $$\beta$$ as -3 + 3 Cosh[2 t] + Sinh[2 t] and put it into our eigenvectors like this

vβ = v /. Sinh[2 t] -> 3 + β - 3 Cosh[2 t] // Simplify;


Now we can look at vβ[] // Column. The whole eigenvector almost fits on one screen. That's progress! We know that $$\beta$$ and $$\lambda$$ are both real numbers, so we can tell that the first, third and fifth components of the first eigenvector are pure imaginary and the second, fourth and sixth components are real. (Use functions like ComplexExpand, Re, Im to verify this.)

We might also notice some other factors, like β^2 (-2 + λ1) λ1 appearing in multiple places. Using a new symbol for this expression could lead to further simplification. Also, re-normalizing so the first component is 1 could simplify things.

The definition of $$\beta$$ used above is one way to introduce a new parameter to simplify the expression. The trick is to find a really good substitution, or two. Any repeated expression is an opportunity to simplify. If you find a really large expression that is repeated, like the polynomial expressions in the eigenvalues, make it a parameter.

Also, keep in mind that there are hyperbolic trig identities for multiple angles that can be applied.

Afterthoughs: It was noted above that some components of the eigenvector are real and some are pure imaginary. This depends entirely on the normalization.

Renormalizing the eigenvector may help sometimes. In the case discussed above, renormalizing the first component to 1 is not helpful, but renormalizing the last component to β (-2 + λ1) λ1 may be helpful.

It is easier to read the eigenvectors with spaces between the components, as

Riffle[vβ[], " "] // Column


One way to plot the eigenvalues as a function of $$t$$ is

Table[eval // N, {t, 0.01, 1, 0.01}];
ListPlot[Transpose[%], Joined -> True,
PlotStyle -> Dashing /@ {.015, 0, .05, .02, 0, .05}]