0
$\begingroup$

When I calculate the eigenvalues of the following matrix (H) by using Eigenvalues, I get complex expressions with Root values. How do I find the explicit eigenvalues with the following assumptions

{{J, B, α} ∈ Reals, J > 0, B >= 0,  0 <= α <= π} 

My Matrix is

H = {{2 (J + B Cos[α]), B Sin[α], B Sin[α], 0},
     {B Sin[α], -2 J, 0, B Sin[α]}, 
     {B Sin[α],0, -2 J, B Sin[α]},
     {0, B Sin[α], B Sin[α], 2 (J - B Cos[α])}};

enter image description here

$\endgroup$
  • 1
    $\begingroup$ You could try ToRadicals. $\endgroup$ – b.gates.you.know.what Sep 10 '19 at 11:54
  • $\begingroup$ It works, but what about the assumptions? $\endgroup$ – Ragab Zidan Sep 10 '19 at 14:20
  • $\begingroup$ Eigenvalues[H, Cubics -> True] gives the same result as Eigenvalues[H] // ToRadicals $\endgroup$ – Bob Hanlon Sep 10 '19 at 23:29
2
$\begingroup$

As @b.gates.you.know.what mentions, you can use ToRadicals

Eigenvalues[H] // ToRadicals

but the resultant expression is not so easy to handle. Even after trying to simplify it under the condition you offer, it helps little: enter image description here

| improve this answer | |
$\endgroup$
  • $\begingroup$ I think that this command did not take my assumptions into account, otherwise why the imaginary part appeared? $\endgroup$ – Ragab Zidan Sep 10 '19 at 12:12
  • $\begingroup$ Real roots of cubic equations generally involve imaginary numbers when expressed using radicals. One advantage of Root is that you avoid that. $\endgroup$ – John Doty Sep 11 '19 at 1:38
0
$\begingroup$

A few comments that may help:

(1) Since J > 0, factor it out of the matrix (h1 = H /. J->1). B and the eigenvalues of h will be in units of J.

(2) Instead of considering B and $\alpha$ to be the independent variables, define $B_x$ and $B_y$. (h2 = H /. J -> 1 /. Cos[α] -> Bx/B /. Sin[α] -> By/B)

(3) Another potential set of real, independent variables is {B^2, B^2*Cos[2α]. Look at the ToRadicals form of the eigenvalues to find other potential parameters. We know the eigenvalues are real, but choosing real parameters that allow MMA to simplify the imaginary parts to zero is not easy.

(4) Use Manipulate and Plot to visualize the eigenvalues as roots of the characteristic polynomial.

c1 = CharacteristicPolynomial[h1, x]
Manipulate[Plot[c1 /. B -> sb /. α -> sa, {x, -10, 10},
  PlotRange -> {All, {-100, 100}}],
 {{sb, 1, "B"}, 0, 5}, {{sa, π/4, "α"}, 0, π}]

c2 = CharacteristicPolynomial[h2, x]
Manipulate[Plot[c2 /. Bx -> sbx /. By -> sby, {x, -10, 10},
  PlotRange -> {All, {-100, 100}}],
{{sbx, 1, "Bx"}, 0, 5}, {{sby, 1, "By"}, 0, 5}]
| improve this answer | |
$\endgroup$

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.