2
如何計算向量的僞逆和行列式? (最好用兩種numpy的,或更好的大熊貓)Python僞逆和行列式的行列式
我試過,但它不工作:
import numpy
vect = [1, 2, 3, 4]
numpy.linalg.pinv(vect)
但我得到這個錯誤:
---------------------------------------------------------------------------
LinAlgError Traceback (most recent call last)
<ipython-input-106-e362654e383f> in <module>()
19 vect = [1, 2, 3, 4]
---> 20 print(np.linalg.pinv(vect))
C:\Python27\lib\site-packages\numpy\linalg\linalg.pyc in pinv(a, rcond)
1544 _assertNonEmpty(a)
1545 a = a.conjugate()
-> 1546 u, s, vt = svd(a, 0)
1547 m = u.shape[0]
1548 n = vt.shape[1]
C:\Python27\lib\site-packages\numpy\linalg\linalg.pyc in svd(a, full_matrices, compute_uv)
1269 """
1270 a, wrap = _makearray(a)
-> 1271 _assertRank2(a)
1272 _assertNonEmpty(a)
1273 m, n = a.shape
C:\Python27\lib\site-packages\numpy\linalg\linalg.pyc in _assertRank2(*arrays)
153 if len(a.shape) != 2:
154 raise LinAlgError, '%d-dimensional array given. Array must be \
--> 155 two-dimensional' % len(a.shape)
156
157 def _assertSquareness(*arrays):
LinAlgError: 1-dimensional array given. Array must be two-dimensional
感謝您的提示!事實上,它適用於linalg.pinv,但它不適用於linalg.det! (錯誤:「數組必須是正方形」)你有什麼想法我可以如何處理det? – gaborous 2013-04-08 19:33:52
@ user1121352:我可以問你有什麼使用情況的非方矩陣的行列式? – DSM 2013-04-08 19:38:10
@ user1121352:行列式僅在數學上爲方陣定義。 – BrenBarn 2013-04-08 19:38:42