Singular Matrix ?
在解线性方程组的时候调用了形如:
solution = np.linalg.solve(a, b)
然而在等待结果的时候,你只能看到如下的报错?
Singular Matrix 的Error来自于系数矩阵的Det = 0
关于Det以及求解过程可以自行百度一下线性代数求解线性方程组的内容blabla
然后我们再到图中说的…../numpy/linalg/linalg.py看看:
在最下的notes那边它说这个‘a’系数矩阵必须为linearly independent,否则就是“Raises LinAlgError”了
其实linearly independent就是保证Det不为0. 就是说,python这个solve函数默认input就是Det不为0矩阵。
So 保险的办法其实就是自己在外部写一个check Det的判断然后再调用solve函数哦。
以及 插播.py文件后面一些example code:
这是solve完之后,用allclose()来检查一下算的对不对。学到了。