행렬과 벡터
- 보통 행렬은 대문자로, 벡터는 소문자로 나타냄
행렬(Matrix):
A = [142536]
가로줄을 행(row), 새로줄을 열(column)이라고 한다.
위의 경우 2x3 행렬이라고 한다.
- 행렬의 각 요소 표기:Aij = 행렬 A의 i행 j열의 요소
예: A12 행렬 A의 1행 2열의 요소 = 2
- m x n 행렬의 경우 아래와 같이 나타낼 수 있다.
A = ⎣⎢⎢⎢⎢⎡A11A21⋮Am1A12A22Am2.........A1nA2nAmn⎦⎥⎥⎥⎥⎤
벡터(Vector): 행 또는 열이 하나뿐인 행렬
- 벡터의 요소는 a_2 처럼 행렬과 달리 숫자 하나로 나타냄
- n차원 벡터:
a = ⎣⎢⎢⎢⎢⎡a1a2⋮an⎦⎥⎥⎥⎥⎤
행렬의 연산
-
행렬의 덧셈: 같은 위치의 항끼리 더한다.
A=[1425] B=[3643]
A+B=[41068]
-
행렬의 스칼라곱: 행렬의 각 요소에 스칼라를 곱한다.
i=5 A=[3124]
iA=[1551020]
-
행렬과 행렬의 곱(내적곱)
- 행렬 곱셈은 앞 행렬의 행을 뒤 행렬의 열과 각각 요소들끼리 곱하여 더한다.
- 행렬곱셈을 하려면 행렬곱셈 AB에서 A의 행 수와 B의 열 수가 같아야 한다
- A 가 n x m 행렬이고, B가 m x l 행렬이면 AB는 n x l 행렬이다.
- 행렬 곱셈은 교환법칙이 성립하지 않는다. AB=BA
A=[123311] B=⎣⎢⎡356434⎦⎥⎤
AB=[24172721]
-
요소별 곱하기: 차원이 같은 두 행렬의 요소들을 서로 곱하는 연산이다.
A=[1425] B=[3643]
AoB=[324815]
특수 행렬
- 전치 행렬(Transposed Matrix): 행렬의 각 요소의 행과 열을 바꾼 행렬
- 행렬 연산을 할 때 차원을 맞추기 위해 사용
A=[132212] AT=⎣⎢⎡121322⎦⎥⎤
- 단위 행렬(Identity Matrix): 정방행렬 중 행번호와 열번호가 같은 항만 1이고 나머지는 0인 행렬
- 정방행렬: 3x3 행렬과 같이 행 수와 열 수가 같은 행렬
- 행렬 곱셈의 항등원
I=⎣⎢⎡100010001⎦⎥⎤
- 역 행렬(Inverse Matrix): 곱해서 단위행렬이 나오는 행렬
Ax?=I
- 행렬 곱셈의 역원
- numpy.linalg.pinv(A)를 통해 행렬 A의 역 행렬을 구할 수 있다.
A=[3142] A−1=[3142]
AA−1=[1001]=I
선형대수학과 행렬
2x0−4x1+x2=3
3x0+x1−6x2=10
x0+x1+x2=5
- 다음과 같이 복잡한 연립방정식을 행렬과 벡터를 이용하여 쉽게 나타낼 수 있다.
- 가우스-요르단 소거법 등으로 행렬을 통해 연립방정식을 쉽게 풀 수 있다.
Ax=y
⎣⎢⎡231−4111−61⎦⎥⎤⎣⎢⎡x0x1x2⎦⎥⎤=⎣⎢⎡3105⎦⎥⎤
⎣⎢⎡2x0−4x1+x2=33x0+x1−6x2=10x0+x1+x2=5⎦⎥⎤=⎣⎢⎡3105⎦⎥⎤
이 글은 코드잇 강의를 수강하며 정리한 글입니다. 더 자세한 설명은 코드잇을 참고하세요
코드잇 머신 러닝