# Sorted list of symbolic eigenvalues (and corresponding eigenvectors)

Is there a way to obtain a sorted list of eigenvalues when they are computed symbolically (in SR). Particularly knowing that in specific points, they can switch order.

So far, what I have is (assuming $R^3$):

```
def sorted_eval(m, x, y, z, order=0):
_ev = m.eigenvalues()
_ev = numpy.array(ev.subs(x=x, y=y, z=z))
_ev.sort()
return _ev[order]
```

But then if I want to perform a contour plot:

```
x, y, z = var('x y z')
p = vector([x,y,z])
f = p * p
h = f.hessian()
contour(lambda x, y: sorted_eval(h, x, y, 0, 0), (x, -1.5, 1.5), (y, -1.5, 1.5))
```

It takes a long time Thanks D

If the eigenvalues were truly symbolic, what ordering would you put on them?

Also, in this particular case `h` is 2 times the identity matrix... and what is `ev` (maybe from numpy?) and you didn't import numpy... Given the number of other typos, I suspect you had a slightly more complicated setup in mind. Feel free to edit with the *exact* code you used, and we'll give it another shot! :-)