[Python] Python 라이브러리 Numpy에서의 행렬 다루기.
파이썬의 계산 라이브러리, Numpy에서는 행렬을 "어레이(array)라고 부릅니다.
[넘파이의 어레이 클래스는 ndarray, n-dimensional array란 뜻입니다, 고차원 어레이(행렬)이란 뜻으로 보입니다]
차원(dimemsion)은 우리가 통상적으로 이야기하는 "행렬에서의 차원"입니다.
2차원 어레이라면, N행 * M열로 이루어진 N*M 행렬이고,
3차원 어레이라면 , 행*열*깊이 값이 있는 N*M*L 행렬을 의미합니다.
[4차원 이라면 여기에 페이지까지 추가]
넘파이 어레이를 생성하려면 np.array함수를 사용합니다.
넘파이 어레이에서 대괄호 기호 []는 어레이(행렬)의 한 행으로 이해하면 됩니다.
2*3행렬을 만든다면
이런 행렬을 가지고 사칙연산을 수행한다면
행렬의 공식처럼 적용되게 됩니다.
사칙연산을 수행하기 위해서는,
두 행렬의 열과 행의 수[행렬의크기]가 서로 같아야 한다는 전제조건이 지켜져야 합니다.
더하기는, 각 컬럼끼리 더해주면 되고,
뺄셈은 각 컬럼끼리 빼주면 됩니다.
곱셉은 기존 행렬공식과 차이점이 있습니다.
기존 행렬에서의 곱은
이런식으로 각 컬럼들끼리 복합적으로 곱을 하고 더한 값이 최종 결과값으로 나오는 것이 공식이지만
넘파이 어레이(행렬)에서의 곱은
단순하게 각 컬럼(성분)끼리의 곱셉 결과를 출력해주게 됩니다.
나누기와 제곱도 마찬가지고, 단순하게 성분끼리 나눈 값 & 제곱한 을 출력해주게 됩니다.
# 진짜 행렬끼리의 곱을 계산하고 싶으면
* 대신에 @을 사용해주면 됩니다. [ 행렬곱의 공식처럼, 앞의 행렬의 열과 뒤의 행렬의 행의 수가 같아야 합니다]