Под матрицы 4х4 ничего затачивать не надо - тут только вопрос скорости, но не точности. Проблемы возникают с большими матрицами (порядка 100 и выше). По грубой оценке число обусловленности (отношение максимального соб.значения в минимальному) возрастает в e раз на каждую единицу размерности. Т.е. для матрицы 4х4 это будет где-то 50 раз, что мало. А вот у матриц 100х100 там уже где-то 44-я степень. Попросту говоря, как только скалярные произведения векторных пар разошлись настолько, что при их сложении вклад одного из слагаемых теряется (выходит за пределы мантиссы), то начинаются вычислительные проблемы, связанные с тем, что алгоритм игнорирует соответствующие строки или столбцы матрицы.