반응형
행렬의 곱셈은 아래와 같이 정의됩니다.
$\begin{bmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{bmatrix}
\begin{bmatrix}
b_{11} & b_{12} \\
b_{21} & b_{22}
\end{bmatrix}
=
\begin{bmatrix}
a_{11}b_{11}+a_{12}b_{21} & a_{11}b_{12}+a_{12}b_{22} \\
a_{21}b_{11}+a_{22}b_{21} & a_{21}b_{12}+a_{22}b_{22}
\end{bmatrix}
$
숫자를 넣어서도 계산해봅시다.
$\begin{bmatrix}
1 & 2 \\
3 & 4
\end{bmatrix}
\begin{bmatrix}
5 & 6 \\
7 & 8
\end{bmatrix}
=
\begin{bmatrix}
19 & 22 \\
43 & 50
\end{bmatrix}$
위 곱셈을 파이썬에서 해봅시다. 파이썬에서 행렬의 곱셈을 하는 방법은 세가지가 있습니다.
1) dot 함수 사용
2) matmul 함수 사용
3) @ 연산자 사용
>>> m1=np.array([[1,2],[3,4]])
>>> m1
array([[1, 2],
[3, 4]])
>>> m2=np.array([[5,6],[7,8]])
>>> m2
array([[5, 6],
[7, 8]])
>>>
>>> np.dot(m1,m2)
array([[19, 22],
[43, 50]])
>>>
>>> np.matmul(m1,m2)
array([[19, 22],
[43, 50]])
>>>
>>> m1@m2
array([[19, 22],
[43, 50]])
반응형
'파이썬 > 통계분석' 카테고리의 다른 글
[파이썬 강의] 54. 행 또는 열의 길이가 다른 배열도 정의가 가능한가 (0) | 2021.10.15 |
---|---|
[파이썬 강의] 53. 넘파이의 자료형 (0) | 2021.10.15 |
[파이썬 강의] 51. 2차원 배열(행렬)의 산술연산 (0) | 2021.10.14 |
[파이썬 강의] 50. 2차원 배열(행렬)의 정의, 인덱싱, 슬라이싱 (0) | 2021.10.14 |
[파이썬 강의] 49. 1차원배열(벡터)의 산술연산 (0) | 2021.10.14 |
댓글