Ошибка LinAlgError: Сингулярная матрица при использовании np.linalg.solve()

#python

Вопрос:

Кто-нибудь знает, как решить линейное уравнение, включающее сингулярную матрицу?

 z_k1 = np.linalg.solve(M, w_k)
 

M-квадратная матрица, а w_k-вектор. Похоже, что матрица M, которую я получаю, является сингулярной матрицей. Но я должен решить это уравнение. Есть ли другой способ решить уравнение?

Комментарии:

1. Если матрица сингулярна, это означает, что либо нет решения, либо бесконечно много решений. Лучше проверьте, правильна ли ваша матрица. В качестве альтернативы попробуйте найти оптимальное решение, используя метод наименьших квадратов np.linalg.lstsq .

2. Хорошо, большое вам спасибо!