Question (bug?) about eigenvalues



I have a eigenvalue problem that I'm using maxima to either solve, or at
least (via fortran()) set up code that intializes the matrix I want to
diagonalize.  In testing the code I've written, I've run into a problem.
My matrix is hermitian, but nonetheless eigenvalues returns expressions
that contain %i.  When I use numerical values, and extract the imagpart,
it evaluates to 0, which is good, but, it would be nice if I didn't have
to do this.

David

Here's a sample code:

kill(all);
load("eigen");
R:4;
g2:ratsimp(exp(-x**2-y**2)*integrate(exp(-s**2+2*(x
+y)*s)*s**2,s,minf,inf));
a2[n,m]:=diff(g2,x,n,y,m)/sqrt(%pi*2**(n+m)*(n!)*(m!));
h[n,m]:= block(if n = m then n+1/2 else 0 )
                + ((k-1)/2*diff(g2,x,n,y,m))/sqrt(%pi*2**(n
+m)*(n!)*(m!));
hh:genmatrix(h,R,R,0,0)$
hhh:ev(hh,x=0,y=0,k=2);
hermitianmatrix:true;
eigenvalues(hhh);
imagpart(%);
float(%);