Все, что Вы перечислили было проделано.
1) Сверял результаты с маткадом. Хорошо совпадает.
2) Проверял алгоритм на разных хороших матрицах, т.е. на небольших (проверяемых вручную) и больших, но хорошо обусловленных (все три условия выполняются).
3) Точно также проверял и определитель. Причем для расчета определителя у меня имеются два алгоритма.
4) Матрицы небольшие, но плохо обусловленные.
5) В правильности решения более или менее уверен.
При использовании алгоритма отыскания собственных значений к различным по размерности, но хорошо обусловленным матрицам получается, что условие в) выполняется все лучше с увелоичением размерности (0пределитель получается
и даже меньше).