본문 바로가기

Python/AI 수학 with Python

[Python] 전치행렬와 행렬곱 구현

numpy로 배열을 생성 후, 배열명 뒤에 '.T'를 붙여주면 전치행렬이 된다.

[In]

import numpy as np

a = np.array([[0,1,2],
              [1,2,3]]) # 2x3 행렬

print(a.T) # a의 전치 행렬

[Out]

[[0 1]
 [1 2]
 [2 3]]

정상적으로 3x2 행렬로 변환된 것을 확인할 수 있다.

 

전치행렬을 이용해 행렬곱을 가능하게 만들 수 있다.

[In]

import numpy as np

a = np.array([[0,1,2],
              [1,2,3]]) # 2x3 행렬
b = np.array([[0,1,2],
              [1,2,3]]) # 2x3 행렬

# print(np.dot(a*b)) # 전치하지 않고 행렬곱을 하면 에러가 발생!
print(np.dot(a, b.T))

[Out]

[[ 5  8]
 [ 8 14]]