1. ホーム
  2. python

python numpy 行列方程式を解くエラー (LinAlgError 配列の最後の2次元は正方形でなければならない)

2022-02-09 11:13:49
<パス

python numpy 行列方程式を解くエラー (LinAlgError 配列の最後の2次元は正方形でなければならない)

原因

numpy は x = numpy.linalg.solve(A, B) を直接使用するので、A が正方行列であることが保証されなければなりませんが、私の行列は正方行列ではありません。

解答

  1. ゼロに切り上げて正方行列を合成するが、解が無限大または解のない特異行列が残る
  2. 最小二乗です。C = np.linalg.lstsq(A, B, rcond=None)[0] です。

質問

やはり無限に解がある方程式のようで、特定の範囲に一意な解を出力する方法がわかりません