13

エラーNumpy error: Matrix is singularは具体的に何を意味しますか(関数を使用するlinalg.solve場合)?Googleを調べましたが、このエラーが発生したときに明確になるものは見つかりませんでした。

4

2 に答える 2

25

特異行列は、可逆ではない行列です。これは、解こうとしている連立方程式に一意の解がないことを意味します。linalg.solveこれを処理することはできません。

あなたはそれがlinalg.lstsq使用可能な解決策を提供するのを見つけるかもしれません。

于 2012-12-10T06:09:48.220 に答える
3

この関数は、以下を使用して特異行列も反転しますnumpy.linalg.lstsq

def inv(m):
    a, b = m.shape
    if a != b:
        raise ValueError("Only square matrices are invertible.")

    i = np.eye(a, a)
    return np.linalg.lstsq(m, i)[0]
于 2017-05-17T14:02:26.397 に答える