Calculation of eigenvalues, eigenvectors fails



Two more things: (1) The function 'eigens_by_jacobi' only works for
real symmetric matrices. Maxima doesn't always give a clear error
message when the argument to eigens_by_jacobi is invalid:

OK:

(%i35) eigens_by_jacobi(matrix([1,2],[3,4]));
The first argument to eigens_by_jacobi must be a symmetric matrix

Not OK:

(%i36) m : matrix([1,2+%i],[2-%i,4])$
(%i37) eigens_by_jacobi(m);
`sign' called on an imaginary argument: %i

(2) eigens_by_jacobi is the only method Maxima has for numerical
determination of eigenvectors and eigenvalues. Well, you can do

(%i43) m : matrix([1,2+%i],[2,4])$
(%i44) allroots(charpoly(m,z));
(%o44) [z=-0.3950964275992277
*%i-0.031027693863042619,z=0.3950964275992277*%i+5.0310276938630425]

But this is inefficient, and it could give inaccurate values too.

Barton