Нахождение наиболее близкого решения к системе линейных уравнений - PullRequest
0 голосов
/ 20 марта 2020

У меня есть матрица A размера MxN, где M> N, и вектор b размера M. Я хочу решить Ax = b как можно ближе к b, если я знаю, что система уравнений не разрешима. Другими словами, я хочу найти x, который даст мне вектор, ближайший к b. Смотря онлайн, кажется, что я мог бы уменьшить A до его базиса (линейные независимые векторы) и затем найти проекцию b на этот базис. Однако я не уверен, как это сделать в python. Я понимаю, что это как-то связано с разложением qr, но я не уверен, каким будет следующий шаг. И как можно было бы восстановить х.

1 Ответ

1 голос
/ 20 марта 2020

Вы можете вычислить решение наименьших квадратов через np.linalg.lstsq:

x = np.linalg.lstsq(A, b)
...