I am trying to plot the eigenvalues of the following matrix
hamil[kx_,ky_,kz_]={{-10.6`, -0.25` E^(
I (-0.625` kx - 0.21650635094610965` ky -
0.43666666666666665` kz)) -
0.7` E^(I (0.375` kx - 0.21650635094610965` ky -
0.43666666666666665` kz)) -
0.25` E^(
I (-0.125` kx + 0.649519052838329` ky - 0.43666666666666665` kz)),
E^((0.` +
0.43666666666666676` I) kz) (-0.25` E^((0.` -
0.125` I) kx - (0.` + 0.649519052838329` I) ky) +
E^((0.` - 0.625` I) kx + (0.` +
0.21650635094610965` I) ky) (-0.25` -
0.7` E^((0.` + 1.` I) kx)))}, {E^((0.` -
0.375` I) kx - (0.` + 0.649519052838329` I) ky + (0.` +
0.43666666666666665` I) kz) (-0.25` E^((0.` + 0.5` I) kx) +
E^((0.` + 0.8660254037844386` I) ky) (-0.7` -
0.25` E^((0.` + 1.` I) kx))), -10.6`,
E^((0.` - 0.5` I) kx - (0.` + 0.43301270189221935` I) ky - (0.` +
0.43666666666666665` I) kz) (-0.25` -
0.25` E^((0.` + 1.` I) kx) -
0.7` E^((0.` + 0.5` I) kx + (0.` +
0.8660254037844387` I) ky))}, {E^((0.` -
0.375` I) kx - (0.` + 0.21650635094610965` I) ky - (0.` +
0.43666666666666676` I) kz) (-0.7` -
0.25` E^((0.` + 1.` I) kx) -
0.25` E^((0.` + 0.5` I) kx + (0.` + 0.8660254037844386` I) ky)),
E^((0.` - 0.43301270189221935` I) ky + (0.` +
0.43666666666666665` I) kz) (-0.7` +
E^((0.` - 0.5` I) kx + (0.` +
0.8660254037844387` I) ky) (-0.25` -
0.25` E^((0.` + 1.` I) kx))), -10.6`}}
Now the eigenvalues as function of kx, ky and kz are
{es1[kx_, ky_, kz_], es2[kx_, ky_, kz_], es3[kx_, ky_, kz_]} =
Eigenvalues[hamil[kx, ky, kz]] // FullSimplify;
Now plotting all the three eigenvalues
Plot[{Chop[es1[0, 0, z]], Chop[es2[0, 0, z]], Chop[es3[0, 0, z]]}, {z,
0, \[Pi]/1.31}]
I don't understand why is there a sudden jump in blue plot and green plot? Is there a way to rectify this? Is this problem also occur when solving eigenfunctions?
To further stating the problem, as Bob's answer suggests that changing the precision of the equation helps somewhat. However, changing the plotting variable results in same issue that is not rectified by the Bob's solution.
Plot[{Chop[es1[x, 0, 0]], Chop[es2[x, 0, 0]], Chop[es3[x, 0, 0]]}, {x,
0, \[Pi]/1.31}]