这俩部分都是用于线性代数的计算,但是存在一些差别,下面是使用中出现的问题:
- 首先说明的是计算矩阵的伪逆的时候:np.linalg.pinv和scipy.linalg.pinv都是用于计算矩阵伪逆的,二者得到结果并不一致,只能说是差不多。但是代码中用scipy的线性代数模块求了;
- 如何一个矩阵可逆,那么该矩阵的逆等于伪逆;只有矩阵不是方阵或者行列式值为0(奇异矩阵),才要求矩阵的伪逆;
- 首先是检查该矩阵的行列式的时候,np.linalg.eig()得到的是0;scipy.linalg.eig()得到的不是0,明显是错的;再是求np.linalg.inv()会提醒该矩阵求不了逆,scipy.linalg.inv()却把离谱的矩阵求出来了,真的是离大谱了;
查询下来的总结是:scipy.linalg包含numpy.linalg中的所有函数。 另外,scipy.linalg还有一些不在numpy.linalg中的高级函数。对于线性代数上的计算,还是scipy.linalg用的多。