For some (strange) reasons I got interested in the smallest eigenvalue of some larger Moler matrices.
using MatrixDepot N = 100; A = matrixdepot("moler", 100); D, V = eig(A); D ## -7.60989e-16 2.25006 ... 159.39 439.012 3934.28
The small first value is not correct. Given that the determinant of A is always 1.0, and assuming that the larger eigenvalues (all except the first) are computed quite accurately, an estimate of the smallest eigenvalue would be
1 / prod(D[2:N]) ## 5.600713750075904e-60
I confess I’m not sure how exact that might be – at least it looks plausible.
How can I use multi-precision arithmetic to compute the eigenvalues of such a matrix with high accuracy. Does the
eig() function respect BigFloat numbers?
Or how can I convert A to type Bigfloat, my attempt all ended in ERRORs.