데이터 타입 확인
x = np.array([[4.1, 5.3], [-3.9, 8.4], [6.4, -1.8]])
print(x.dtype) #float64
##만약 데이터 타입이 아래와 같이 혼재되어 있다면?
x = np.array([[4.1, 5.3], [-3.9, '3.2'], [6, -1.8]])
print(x.dtype) # <U32 출력
행렬에 관하여
$x_{ij}$는 $i^{th}$row, $j^{th}$ column이다.
표현: 만약 3행 2열 2차원 행렬이 있다면, dim(x) = 3 x 2.
set of all 3 x 2 matrices는 $\mathbb{R}^{3\times2}$로 표현한다.
벡터에 관하여
y라는 벡터의 차원은 행 배열 형태이다.
표현: dim(y) = 3 x 1 or dim(y) = 3 -> 3-dim vector라는 뜻이다.
set of all 3-dim vectors는 $\mathbb{R}^{3}$로 표현한다.
스칼라에 관하여
스칼라는 차원이 없다.
set of all scalars는 $\mathbb{R}$로 표현한다.
$z=5.6$이라면 스칼라이다.
만약, $z=[5.6]$라면, 이건 1-dim vector이다.
행렬 합산
A와 B 행렬이 있을 때, 두 행렬의 차원 속성은 같아야한다. e.g) (3 x 2) + (3 x 2) = (3 x 2)
만약 (3 x 2) + (2 x 3)이라면 안된다.
+) 스칼라는 차원이 없기에, 행렬과 곱한다면 행렬의 모든 원소에 적용한다.
역행렬 코드
np.linalg.inv()
참고: https://generalbulldog.tistory.com/29