1. ホーム
  2. python

[解決済み] エラー 特異な行列

2022-02-03 11:43:20

質問

私のコードでエラーが発生しました、助けてください!。 (コードを貼り付けると何か変なことが起こります(全部がコードのように書かれているわけではありません)) しかし、ここに行きましょう。

私はlinalg.solve(A,Res)をしたいと思います。最初のもの(A)は10行10列、すなわち、matrix([10 array, 10 elements])を持ち、2番目のものは10行1列、すなわち、matrix([1 array, 10 elements])を持っています.

このコードを実行すると、次のようなエラーが発生します。 特異な行列

どうしたらいいのかわかりません。linalg.solveに頼まず、両方の行列を印刷するように頼むと、両方ともうまくいきます:10方程式、10変数です。だから私は何が起こっているのかわからない。助けてください!!!

もし、コードを貼り付ける必要があれば(見た目はひどいですが)貼り付けられます。

ありがとうございます

解決方法は?

特異行列とは、逆行列ができない行列、つまり行列式が 0 の行列のことです。このため、特異行列を使った連立方程式は解けません(解がないことも、複数の解があることもありますが、いずれにせよ一意的な解は存在しません)。ですから、行列が非特異行列であること(行列式が0でないこと)を確認する必要があります。 numpy.linalg.solve 非特異行列を必要とする .

ここで は、2 x 2 行列で何が起こっているのかについての適切な説明です(ただし、N x N への一般化は簡単です)。