728x90
01. 아마다르 곱 Hadamard product
- 두 벡터가 동일한 사이즈일 때, 각각의 element를 곱하는 방법
X
# array([[25, 2],
# [ 5, 26],
# [ 3, 7]])
A = X+2
# array([[27, 4],
# [ 7, 28],
# [ 5, 9]])
A + X
# array([[52, 6],
# [12, 54],
# [ 8, 16]])
A * X
# array([[675, 8],
# [ 35, 728],
# [ 15, 63]])
A_pt * X_pt
# tensor([[675, 8],
# [ 35, 728],
# [ 15, 63]])
A_tf * X_tf
# <tf.Tensor: shape=(3, 2), dtype=int32, numpy=
# array([[675, 8],
# [ 35, 728],
# [ 15, 63]], dtype=int32)>
02. 내각 Dot Product
- 두 벡터간 element를 곱한 뒤 총합을 계산하는 방법
x
# array([25, 2, 5])
y = np.array([0, 1, 2])
# array([0, 1, 2])
np.dot(x, y) # 25*0 + 2*1 + 5*2
# 12
x_pt
# tensor([25, 2, 5])
y_pt = torch.tensor([0, 1, 2])
# tensor([0, 1, 2])
np.dot(x_pt, y_pt)
# 12
torch.dot(torch.tensor([25, 2, 5.]), torch.tensor([0, 1, 2.]))
# tensor(12.)
x_tf
# <tf.Variable 'Variable:0' shape=(3,) dtype=int32, numpy=array([25, 2, 5], dtype=int32)>
y_tf = tf.Variable([0, 1, 2])
# <tf.Variable 'Variable:0' shape=(3,) dtype=int32, numpy=array([0, 1, 2], dtype=int32)>
tf.reduce_sum(tf.multiply(x_tf, y_tf))
# <tf.Tensor: shape=(), dtype=int32, numpy=12>
728x90
'Study > Mathematics' 카테고리의 다른 글
[선형대수학] 아핀 변환, 고유벡터, 고유값 분해 (0) | 2023.11.08 |
---|---|
[선형대수학] 역행렬, 대각행렬, 직교행렬 (1) | 2023.11.07 |
[선형대수학] 프로베니우스 노름, 행렬곱 (0) | 2023.09.07 |