Question: Ordering of Eigenvalues

I have a 6x6 matrix that depends on 8 parameters, M(F) (F is an 8-dim array, say...), and I want to compute the eigenvalues of this matrix both at a fixed point F_0 and at some other arbitrary point F'. The problem is that I need to make sure the ordering of the Eigenvalues remains the same at these two points, so that if I'd go continuously from F_0 to F' the eigenvalues would go continuously from Eigenvalues(M(F_0)) to Eigenvalues(M(F')), without any flip in the order of the entries.

Now, I can imagine there is probably no straightforward way to do this, because to Maple M(F_0) and M(F') are just two unrelated matrices. An idea that occured to me, then, was to compute the CharacteristicPolynomial of M(F0-x*(F0-F')), find the solutions in terms of x, and then rearrange them in order to get Eigenvalues(M(F_0)) when x=0, as I should. If I manage to do that, then for x=1 I'd get Eigenvalues(M(F')) in the correct order. The problem is that, since M is 6x6, there is no closed expression for the roots of the CharacteristicPolynomial. Is there some way the RootsOf could be of some help here? At first I think it can't, because with it I would have to put the values x=0 or x=1 BEFORE finding the roots, and, again, nothing would ensure that the ordering of the solutions found would be "correct".


I have also tried the pedestrian way of actually computing the Eigenvalues of M(F0-x*(F0-F')) going from x=0 to x=1 in "small steps", almost continuously, and reordering the vectors at each step. But, apart from the huge computational effort required for that, I also have the small difficulty that at F_0 two eigenvalues are degenerate, so at a "infinitesimal" step later I cannot know to which of this degenerate eigenvalues my solution corresponds. But I think I could have a workaround for this if someone suggests an efficient way to do this reordering at each step.


Well, that's the description of my problem. Any help or comment would be very appreciated!

Thanks in advance!

Please Wait...