【发布时间】:2019-07-14 14:09:39
【问题描述】:
我想计算一个 200x200 矩阵 (expm(B)) 的指数并得到以下问题。非常感谢您的帮助。
exp_matrix2 = expm(B)
文件“.../python2.7/site-packages/scipy/linalg/matfuncs.py”,行 261,在 expm 返回 scipy.sparse.linalg.expm(A)
文件“.../python2.7/site-packages/scipy/sparse/linalg/matfuncs.py”, 第 582 行,在 expm 中 return _expm(A, use_exact_onenorm='auto')
文件“.../python2.7/site-packages/scipy/sparse/linalg/matfuncs.py”, 第 618 行,在 _expm 中 eta_1 = max(h.d4_loose, h.d6_loose)
文件“.../python2.7/site-packages/scipy/sparse/linalg/matfuncs.py”, 第 457 行,在 d4_loose 结构=self.structure)**(1/4.)
文件“.../python2.7/site-packages/scipy/sparse/linalg/matfuncs.py”, 第 301 行,在 _onenormest_matrix_power MatrixPowerOperator(A, p, structure=structure))
文件“.../python2.7/site-packages/scipy/sparse/linalg/_onenormest.py”, 第 95 行,最正常的 est, v, w, nmults, nresamples = _onenormest_core(A, A.H, t, itmax)
文件“/python2.7/site-packages/scipy/sparse/linalg/_onenormest.py”, 第 424 行,在 _onenormest_core Z = np.asarray(AT_linear_operator.matmat(S))
文件“.../python2.7/site-packages/scipy/sparse/linalg/interface.py”, 第 326 行,matmat Y = self._matmat(X)
文件“.../python2.7/site-packages/scipy/sparse/linalg/interface.py”, 第 468 行,在 _matmat 中 return super(_CustomLinearOperator, self)._matmat(X)
文件“.../python2.7/site-packages/scipy/sparse/linalg/interface.py”, 第 174 行,在 _matmat return np.hstack([self.matvec(col.reshape(-1,1)) for col in X.T])
文件 “/home/dk2518/anaconda2/lib/python2.7/site-packages/scipy/sparse/linalg/interface.py”, 第 219 行,在 matvec 中 y = self._matvec(x)
文件“.../python2.7/site-packages/scipy/sparse/linalg/interface.py”, 第 471 行,在 _matvec 中 返回 self.__matvec_impl(x)
文件“.../python2.7/site-packages/scipy/sparse/linalg/interface.py”, 第 266 行,在 rmatvec 中 y = self._rmatvec(x)
文件“.../python2.7/site-packages/scipy/sparse/linalg/matfuncs.py”, 第 203 行,在 _rmatvec x = A_T.dot(x)
ValueError:形状 (207,207) 和 (1,207) 未对齐:207 (dim 1) != 1 (暗淡 0)
【问题讨论】:
-
不确定您的矩阵是如何创建的,但请检查此scipy GitHub issue thread 以查看使用
np.block是否有帮助
标签: python python-2.7 numpy scipy sparse-matrix