앞의 포스팅에서는 선형 대수의 정의에 대해서 다루었습니다.
선형 대수는 벡터와 행렬의 계산으로 이루어져 있습니다.
오늘의 포스팅은 선형대수 계산을 위한 기본 용어들을 정리해 보겠습니다.
스칼라(scala)
스칼라란 무엇일까요? 여러분도 일상속에서 많이 보셨을 겁니다!
스칼라는 수의 단일 형태로 1, 2, 3 등의 보통 수치를 뜻합니다.
파이썬 코드로 표현하자면 아래와 같습니다.
a = 1
b = 2
c = 3
벡터(vector)
벡터는 수를 직선상에 나열한 것으로, 스칼라를 나열한 것이라 보시면 됩니다.
벡터의 표현 방법
벡터의 표현은 어떻게 하는지 간단하게 알아볼까요?
각각 점 A와 B를 잇는 직선이 있다고 가정해 봅시다. 여기서 A의 좌표는 (c,d)이고, B의 좌표는 (e,f)입니다.
A에서 B로 가는 방향이라고 할때, 이 벡터는 아래와 같이 표현합니다.
$$ \vec{AB} $$
또한 벡터는 목적지 좌표(B의 좌표) - 출발지 좌표(A의 좌표) 로 표현하기도 합니다. 이를 벡터의 "성분 표시"라고합니다.
즉, 위의 벡터는 아래와 같이 표현할 수 있습니다.
$$ \vec{AB} = (e-c, f-d) $$
벡터를 보는 관점
벡터를 보는 관점은 총 3가지가 존재합니다.
(1) 물리학적 관점
물리학적 관점에서 벡터는 방향을 나타내는 물리량을 뜻합니다. 즉, "방향"과 "크기"를 나타내는 양입니다.
위의 그림은 두 개의 벡터를 나타내고 있습니다. 왼쪽에 있는 벡터는 A에서 B로가는 벡터이며 아래와 같이 표현합니다.
$$ \vec{AB} $$
오른쪽에 있는 벡터는 B에서 A로 가는 벡터이며 아래와 같이 표현합니다.
$$ \vec{BA} $$
위의 두 벡터는 같은 벡터일까요?
정답은 아닙니다! 벡터는 방향과 크기가 모두 동일해야합니다.
위의 두 벡터는 크기는 동일하지만, 방향이 서로 반대이기 때문에 같은 벡터가 아닙니다.
(2) 컴퓨터 과학적 관점
컴퓨터 과학적 관점에서 벡터는 단순히 순차 리스트입니다.
벡터를 컴퓨터로 표현하면 단순히 리스트기 때문이죠! 예를 들어 아래와 같은 벡터가 있다고 가정합시다.
$$ \vec{AB} = (0,2) $$
위의 성분을 좌표 평면에 그려볼까요?
자 그럼 출발점 A를 (0,0)이라고 가정하면 도착점 B는 (0,2)가 되겠죠! 위와 같은 벡터라는 것을 알 수 있습니다.
이와 같이 컴퓨터 과학적 관점에서는 벡터를 성분 표기하여 순차 리스트로 여깁니다.
표기 방법은 column vector, row vector가 있습니다.
- column vector
$$ x = \begin{bmatrix}
x_1 \\
\vdots \\
x_n \end{bmatrix} \in \mathbb{R}^n = \mathbb{R}^{n\cdot1}$$
- row vector
$$ x^T = \begin{bmatrix}
x_1 & \cdots & x_n \end{bmatrix} \in \mathbb{R}^n = \mathbb{R}^{1\cdot n}$$
column vector는 1행 n열, row vector은 n행 1열로 생각하시면 됩니다.
(3) 수학적 관점
위의 두 관점을 모두 포함하는 개념입니다.
행렬(matrix)
행렬은 스칼라를 격자로 나열한 것입니다. 두 개 이상의 array를 나열한 것이죠.
예를 들어 아래와 같습니다.
\begin{Bmatrix} a & b \\ c & d \end{Bmatrix}
위의 행렬을 보고 "벡터랑 뭐가 다르지?"라고 생각하실 수 있습니다.
자세히 보시면 위의 벡터의 성분은 nx1 혹은 1xn 리스트로 표현이 됩니다.
하지만 행렬은 여러 개의 행과 열을 가집니다. 즉 nxn이라고 할 수 있습니다.
크게 본다면 벡터가 행렬에 포함되는 개념이라고 할 수 있습니다.