본문 바로가기
수학

선형대수 기초 : 벡터와 행렬

by pnnote 2023. 6. 28.
반응형

 

 

선형대수학은 벡터 공간(vector space)과 선형 변환(linear transformation)을 중심으로 한 학문 체계를 말한다. 선형대수는 방대한 양의 데이터나 복잡한 시스템을 비교적 간단하게 표현할 수 있을뿐만 아니라 컴퓨터로 계산하기도 쉽다.

 


선형대수학의 주요 개념은 다음과 같다.

벡터와 벡터 공간 (Vector and Vector Space): 벡터는 크기와 방향을 가진 물리적 개념으로 시작되었지만, 고차원 공간에서의 점이나 방향을 나타내는 추상적 개념이기도 하다. 벡터 공간은 벡터의 집합으로, 벡터 간의 덧셈과 스칼라 곱셈이 정의되어있다.

행렬 (Matrix): 행렬은 숫자, 심볼, 수식 등을 직사각형 형태로 배열한 것이다. 행렬은 선형 변환을 나타내는 주요 도구이며, 연립 방정식의 계수를 나타내기도 한다.

선형 변환 (Linear Transformation): 벡터를 다른 벡터로 변환하는 함수다. 이 변환은 두 가지 중요한 성질, 즉 벡터의 덧셈과 스칼라 곱셈을 보존한다.

고유값과 고유벡터 (Eigenvalues and Eigenvectors): 고유벡터는 선형 변환에 의해 방향은 유지되고 크기만 변하는 벡터를 말하고, 고유값은 그 변환에 따른 스케일링 팩터를 말한다.

역행렬 (Inverse Matrix): 행렬 A에 대해, A와 곱했을 때 단위행렬을 얻는 행렬을 A의 역행렬이라고 한다. 모든 행렬이 역행렬을 가지는 것은 아니다.

행렬의 랭크 (Rank of a Matrix): 행렬의 랭크는 원래 행렬에서 생성할 수 있는 선형 독립 행 또는 열의 최대 수를 의미한다.

내적과 외적 (Dot Product and Cross Product): 벡터 간의 연산으로, 각각 스칼라와 벡터를 반환한다.

이러한 개념들을 이용하면, 선형 방정식 시스템을 해결하거나, 데이터의 차원을 축소하거나, 다양한 물리적 시스템을 모델링하는 등 많은 문제를 해결할 수 있다.


벡터

벡터는 크기와 방향을 가지는 수학적 객체이다. 보통 벡터는 데이터 여러 개를 한 줄에 담아낼 수 있게 만든 것을 벡터(vector)라고 부른다. 프로그래밍을 할 때에도 여러 개의 데이터를 하나의 열에 담아 둔 것을 벡터 또는 배열이라고 부른다. 식 1은 행벡터와 열벡터다.

 

식 1. 벡터

벡터끼리 연산을 할 때는 서로 대응하는 성분끼리 덧셈/뺄셈을 한다. 벡터 성분의 수를 차원이라고 하는데 다른 차원을 가진 벡터끼리는 연산이 불가능하다.

식 2. 벡터의 덧셈

벡터에는 덧셈과 뺄셈 이외에도 스칼라배 라는 계산이 있다. 스칼라는 벡터에 대비되는 개념으로 크기만 있고 방향이 없는 상수나 변수 같은 1차원의 값을 나타낸다.

식 3. 벡터의 스칼라배

벡터는 내적이라는 계산이 있다. 내적은 벡터에서 서로 대응하는 성분끼리 곱한 다음 그것들을 모두 더한 값이다. 벡터와 벡터를 내적하는 경우 결과는 벡터가 아닌 스칼라 값이 된다. 그리고 다른 차원의 벡터끼리는 내적할 수 없다. (내적은 다른 말로 dot product, scalar product, projection product 라고도 불린다.)

식 4. 벡터의 내적

 

두 벡터 a, b가 서로 "직교"한다(수직으로 만난다)는 말은 두 벡터가 이루는 각이 90도라는걸 의미한다. 이것은 a, b의 내적이 0이라는 말이기도 하다.

식 5. 직교

2차원 평면이나 3차원 공간에서 특정 평면이나 표면에 수직인 벡터를 법선 벡터(Normal Vector)라고 한다. 2차원 공간에서, 직선의 경우 법선벡터는 직선에 수직인 벡터이고, 3차원 공간에서 법선벡터는 표면에 수직인 벡터를 의미한다. 벡터 [a, b]에 대한 법선벡터는 [-b, a] 또는 [b, -a]이다. 3차원에서는 두 벡터의 외적(cross product)은 두 벡터에 수직인 벡터, 즉 법선벡터를 생성한다.

 

그림 1

벡터는 기하학적으로 방향과 거리를 가진 화살표로 나타낼 수 있는데, 벡터의 노름(norm)은 벡터의 크기 또는 거리를 나타내는 값이다. 노름은 벡터가 원점에서 얼마나 떨어져 있는지를 측정하는 방법 중 하나다. 그림 1처럼 a = (4, 3)은 오른쪽으로 4, 위로 3만큼 움직인셈이다. 이렇게 움직인 거리를 3차원 이상의 공간에서도 똑같이 적용할 수 있는데, 이렇게 구한 움직인 거리를 L1 노름이라고 한다. L1 노름은 맨해튼 거리라고도 부른다. 

식 6. L1 norm

L1 노름을 계산할 때는 벡터 각 성분들의 절대값을 구한 다음 모두 더하면 된다. 반면에 그림 1에서 시작점부터 목적지까지 직선으로 움직이는 방법도 있는데, 이렇게 직선으로 움직인 거리를 구하는 방법은 3차원 이상의 공간에서도 똑같이 적용할 수 있다. 이렇게 구한 움직인 거리를 L2 노름이라고 한다. 이 거리는 유클리드 거리와 같다. 그림 1의 L2 노름은 5이다.

식 7. L2 norm

 

 


행렬

행렬은 수 또는 기호, 수학적 표현을 행(row)과 열(column)의 형태로 배열한 것을 말한다. 아래의 행렬은 3x3 행렬로, 각 요소는 해당 위치를 나타내는 두 인덱스로 표시된다. 예를 들어, a23는 2번째 행, 3번째 열에 위치한 요소를 가리킨다.

그림 2. 행렬

 

행렬의 덧셈과 뺄셈은 서로 대응하는 성분끼리 계산을 하면 된다. 두 행렬을 더하거나 빼기 위해서는 먼저 두 행렬의 크기가 같아야 한다. 즉, 두 행렬은 같은 수의 행과 열을 가져야 한다.

식 8. 행렬의 덧셈과 뺄셈

 

행렬의 곱셈은 덧셈과 뺄셈보다는 약간 더 복잡하다. 두 행렬 A와 B를 곱하려면 A의 열 수와 B의 행 수가 같아야 한다. 행렬 A의 크기가 m x n이고 행렬 B의 크기가 n x p라면, 그 결과는 m x p 크기의 행렬이 된다. 결과 행렬의 각 요소는 A의 해당 행과 B의 해당 열의 요소들을 곱한 값들의 합이 된다.

식 9. 행렬의 곱셈

행렬의 곱셈은 결합법칙과 분배법칙은 성립하지만, 교환법칙은 성립하지 않는다. 즉, 일반적으로 AB ≠ BA이다. 행렬에는 나눗셈이 없는 대신 역행렬이 있다. 역행렬(inverse matrix)는 원래의 행렬에 곱했을 때 단위행렬을 반환하는 행렬을 의미한다. 만약 행렬 A의 역행렬이 B라면, AB = BA = I가 된다. 여기서 I는 단위행렬로, 대각선의 원소는 1이고 나머지 원소는 모두 0인 행렬을 의미한다.

그림 3. 단위행렬

 

행렬은 선형대수, 물리학, 컴퓨터 과학, 통계학 등 많은 분야에서 광범위하게 사용된다. 컴퓨터 그래픽스에서는 변환, 회전, 스케일링 등을 표현하기 위해 행렬이 사용되고, 데이터 분석에서는 데이터 세트를 표현하는 데 행렬이 사용된다.

 

 

 

반응형