我有一些代碼,我想測試矩陣和向量的乘積是否爲零向量。我嘗試的一個例子是:比較兩個向量
n =2
zerovector = np.asarray([0]*n)
for column in itertools.product([0,1], repeat = n):
for row in itertools.product([0,1], repeat = n-1):
M = toeplitz(column, [column[0]]+list(row))
for v in itertools.product([-1,0,1], repeat = n):
vector = np.asarray(v)
if (np.dot(M,v) == zerovector):
print M, "No good!"
break
但行if (np.dot(M,v) == zerovector):
給出了錯誤ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
。什麼是正確的方法來做到這一點?
由於您在測試向量中包含零向量,因此您的內循環始終會「中斷」,這肯定會在'M'的內核中。你想達到什麼目的? –
@SvenMarnach代碼沒有完成,但謝謝你是對的。 – marshall