С вашего поста не ясно, будет ли матрица будет эрмитовой. Я не знаю методов для общего случая.
Но! Если матрица эрмитова (симметричная положительно определенная), вы можете избежать вычисления ВСЕХ собственных значений, если вам нужен только самый маленький (который будет положительным). Вы можете использовать обратную итерацию. http://en.wikipedia.org/wiki/Inverse_iteration
Вы можете запустить алгоритм с mu = 0; а затем использовать коэффициенты Рэлея http://en.wikipedia.org/wiki/Rayleigh_quotient_iteration, которые, как правило, дают вам очень быструю конвергенцию. Метод включает в себя решение линейной системы уравнений (или, что то же самое, вычисление обратной матрицы), но если снова матрица эрмитова, вы можете произвести для нее разложение Холецкого, а затем использовать полученные треугольные матрицы для решения систем.
В некоторых случаях метод сходится к некорректному собственному значению (например, рядом с наименьшим).
Кроме того, интересное наблюдение заключается в том, что КРУПНЕЙШИЕ собственные значения матрицы A равны норме этой матрицы (квадратный корень из суммы квадратов ее элементов). МАЛОЕ собственное значение A равно 1, деленное на норму INVERSE of A. Итак, если ваша матрица не очень большая и ее обратная существует, вы можете позволить ей инвертировать ее, а затем просто сделать это и вычислить 1/норму (INV (А)). Это значение будет МАЛОЕ собственное значение A.
Можете ли вы определить, что вы подразумеваете под точным? И о каких типах матриц мы говорим? Какой размер? –
Я не думаю, что вы можете получить точный ответ во всех случаях, даже для матриц с целыми элементами. – user2357112