С точки зрения численного анализа вы никогда не захотите писать код, который
- Явно инвертирует матрицу, или
- Формирует матрицу нормальных уравнений (
A^T A
) для регрессии
Оба они более трудоемки и менее точны (и, вероятно, менее стабильны), чем альтернативы, которые решают ту же проблему напрямую.
Всякий раз, когда вы видите какую-то математику, показывающую инверсию матрицы, это следует читать как означающее «решить систему линейных уравнений», или разложить матрицу и использовать факторизацию для решения системы. И BLAS, и Lapack имеют процедуры для этого.
Аналогично, для регрессии вызовите библиотечную функцию, которая вычисляет регрессию, или прочитайте, как это сделать самостоятельно. Метод нормальных уравнений - это учебник неправильный способ сделать это.