numpy array’leri N boyutlu oldugundan (isimleri de ndarray
hatta) satir-sutun olarak dusunmemek lazim. (3,)
tek elemanli bir tuple, “(3)
”. (tuple([3])
, tuple({3})
, …). ,
ile yazilmasinin sebebi paranteze alinmis 3
ile karistirilmamasi. (,3)
diye bir sey yok (veya (3,
) ile ayni sey.)
Iki boyutta dusundugun (1, 3)
ve (3, 1)
. Her ikisi de tek boyutlu bir (3)
array’inden kolayca uretilebilir. (reshape) Tipki (3, 1, 1)
, (1, 3, 1)
ve (1, 1, 3)
gibi.
>>> d1 = numpy.array([1, 2, 3])
>>> d1.shape
(3,)
>>> d2 = numpy.array([[10, 10, 10], [20, 20, 20]])
>>> d2.shape
(2, 3)
>>> d2 @ d1
array([ 60, 120])
>>> (d2 @ d1).shape
(2,)
>>> d2 @ d1.reshape(3, 1)
array([[ 60],
[120]])
>>> (d2 @ d1.reshape(3, 1)).shape
(2, 1)
>>> d1 @ d2.T
array([ 60, 120])
>>> d1.reshape(1, 3) @ d2.T
array([[ 60, 120]])
>>> d1.reshape(1, 1, 3) @ d2.T
array([[[ 60, 120]]])