1
$\begingroup$

There is the possibility that this question may have been asked previously, but as we are unfamiliar with the nature of the chart below, we hope to seek a response to this query.

Consider a matrix as follows:

matrix = {{0.1 j, 0, 0, 0.2 j, 0}, {0, 0.1 j, 0, 0.2 j, 0}, {0, 0.1 j,
0, 0, 0.2 j}, {0.1 j, 0, 0, 0, 0.2 j}, {0, 0, 0.1 j, 0.2 j, 0}};

In any choice of j which must be chosen in the range of [1,2,3,4], there is a set of eigenvalues (for this matrix we expect 5 eigenvalues for each j separately), we are going to draw a chart similar to

enter image description here

in which the vertical axes shows eigenvalues magnitude (from the lowest one to the largest for various j's). (however the real eigenvalues are not 1, 2, 3 for j=1 for the above defined matrix the plot is just a schematic picture of what we wish to have). Also (for j=1 and j=2) for instance there is a condition in which degeneracy is governed or the different between continuous eigenvalues for a special j is less than 10^-3, with a command same as:

Union[Eigenvalues[matrix] // N, SameTest -> (Abs[#1 - #2] < 10^-3 &)]

How we can draw this wish and with the last condition?

$\endgroup$
4
$\begingroup$
Clear[Hma];

n = 5;

Hma[j_Integer] = {{0.1*j, 0, 0, 0.2*j, 0}, {0, 0.1*j, 0, 0.2*j, 0}, {0, 0.1*j,
     0, 0, 0.2*j}, {0.1*j, 0, 0, 0, 0.2*j}, {0, 0, 0.1*j, 0.2*j, 0}};

data1 = Flatten[Table[Thread[{j,
       Eigenvalues[Hma[j]]}],
     {j, n}], 1] // Chop;

With your condition

data2 = Flatten[Table[Thread[{j,
       Union[Eigenvalues[Hma[j]], SameTest -> (Abs[#1 - #2] < 10^-3 &)]}],
     {j, n}], 1] // Chop;

There are no eigenvalues eliminated by your condition

Length[data1] == Length[data2]

True

ListPlot[data, Frame -> True, 
 FrameLabel -> {Style["J No.", Medium, Bold], Style["Values", Medium, Bold]}]

enter image description here

$\endgroup$
  • $\begingroup$ @mr.0093, this is very easy to find in the documentation.... $\endgroup$ – Marius Ladegård Meyer Aug 15 '15 at 21:00
0
$\begingroup$

I am not too clear about your last condition, however the following code could yield an output CLOSE to what you have in mind:

Hma[j_] = {{0.1*j, 0, 0, 0.2*j, 0}, {0, 0.1*j, 0, 0.2*j, 0}, {0, 
    0.1*j, 0, 0, 0.2*j}, {0.1*j, 0, 0, 0, 0.2*j}, 
       {0, 0, 0.1*j, 0.2*j, 0}}; 

ListPlot[Table[Evaluate[Eigenvalues[Hma[j]]], {j, 1, 5, 1}], 
 Frame -> True, FrameLabel -> {Style["J No.", Large, Bold], 
   Style["Values", Large, Bold], Style["", Large, Bold]}, 
 Ticks -> Automatic, LabelStyle -> Directive[Black, Bold, Large]]

Each colour denotes a distinct J. There is one eigenvalue for each J that seem very close to zero, so the last dot signifies these small values.

enter image description here

$\endgroup$
  • $\begingroup$ Are you sure the defrerences of eigenvalues (for example for j=1) is same! the EigenValues@Hma/.j->1= {0.3, -0.273205, 0.1, 0.0732051, 3.93535*10^-17}, but there is no minus eigenvalues for j=1! $\endgroup$ – Unbelievable Aug 15 '15 at 11:56
  • $\begingroup$ Don't know what u mean.....the blue dot signifies J=1, and does go below zero in the plot.. Moreover you could modify the code. $\endgroup$ – thils Aug 15 '15 at 12:05
  • $\begingroup$ Besides, thanks for your try but I think there is a misunderstanding. Above j=1 must be put pertinent eigenvalues (eigenvalues related to j=1 in the matrix)! $\endgroup$ – Unbelievable Aug 15 '15 at 12:16
  • $\begingroup$ these numbers {0.3, -0.273205, 0.1, 0.0732051, 3.93535*10^-17} must be put above the j=1, $\endgroup$ – Unbelievable Aug 15 '15 at 12:22
  • $\begingroup$ Whati is "pertinent: eigenvalue? If you are after the magnitude, use "Abs" $\endgroup$ – thils Aug 15 '15 at 12:23

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.