У меня есть матрица A формы (224, 45). Это ранг 44. Когда я пробую этот код:
solution = np.linalg.lstsq(A, rhs)[0]
Я получаю решение с очень высокими значениями, что-то вроде 1e14.
Когда я пытаюсь
solution = np.linalg.lstsq(A.T.dot(A), A.T.dot(rhs))[0]
Я получаю хорошее решение, как и ожидалось.
Вопрос в том, нужно ли мне использовать np.linalg.lstsq
только для квадратных симметричных матриц или что-то в этом роде? В документах об этом ничего нет.
solution
содержит большие значения, не обязательно означает, что он недействителен. Вы смотрели наA.dot(solution) - rhs
? - person ali_m   schedule 24.11.2015A.dot(solution) - rhs
достаточно велика, однако относительная ошибка мала. Самое интересное, что если я нанесу результаты, то у меня получится та же картинка, но она смещена. - person Andrey   schedule 24.11.2015A
. - person ali_m   schedule 24.11.2015