2014-12-16 3 views
0

Я смущен тем, чтоформа вектора в NumPy

a = np.array([1,2]) 
a.T == a # True 

, а также

I = np.array([[1,0],[0,1]]) 
np.dot(a, I) = np.dot(I, a) # both sides work 

является форма вектора (или массива), в этом случае 1 * 2 или 2 * 1 ?

+1

Вы пробовали делать np.shape (а)? – Malonge

ответ

2

Вектор a имеет форму 2, а не 1 × 2 ни 2 × 1 (это не является ни вектор-столбец, ни строка), поэтому транспонирование не имеет никакого эффекта, так как transposition by default reverses the ordering of the axes.

Numpy является very lenient about what kinds of arrays can be multiplied using dot:

это сумма произведение по последней оси a и второго до последнего из b

Смежные вопросы