본문 바로가기
AI 수학/선형대수

행렬과 벡터의 정의

by 세인트 워터멜론 2020. 7. 15.

행렬(matrix)과 벡터(vector)는 많은 양의 데이터와 함수 등을 간결하고 체계적으로 표현해 주는 수학적 도구다.

 

 

행렬은 함수나 숫자를 직사각형 형태로 배치하고 대괄호(또는 소괄호)로 묶은 배열로 정의한다. 다음은 행렬의 예다.

 

\[ \begin{align} & \begin{bmatrix} 1 & 2 \\ -3.1 & 5 \\ 0 & -0.5 \end{bmatrix} , \ \ \ \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} , \\ \\ & \begin{bmatrix} e^x & x^2 & 2x \\ 4 & 0 & \sin(x) \end{bmatrix} , \ \ \ \begin{bmatrix} 3 \\ 2 \\ 1 \end{bmatrix} , \ \ \ \begin{bmatrix} 4 & 3 \end{bmatrix} \tag{1} \end{align} \]

 

행렬을 구성하는 있는 숫자 또는 함수를 행렬의 성분(element)라고 한다. 행렬의 가로 줄을 행(row), 세로 줄을 열(column)이라고 한다. 식 (1)의 첫 번째 행렬은 행이 3개, 열이 2개로 된 행렬이다. 두 번째 행렬은 행과 열이 각각 2개다.

행렬에서 특정 성분의 위치는 행과 열을 이용해서 표시할 수 있다. 예를 들면 식 (1)의 첫 번째 행렬에서 성분 5는 2행2열에 위치한다. 식 (1)의 세 번째 행렬에서 2행3열에 위치한 성분은 \( \sin (x) \)이다. 행과 열의 개수가 같은 행렬을 정방 행렬(square matrix)이라고 한다. 식 (1)의 두번째 행렬이 정방 행렬에 해당한다.

행이 1개 또는 열이 1개인 행렬을 벡터(vector)라고 한다. 행이 1개인 벡터를 행 벡터(row vector)라고 하고, 열이 1개인 벡터를 열 벡터(column vector)라고 한다. 식 (1)에서 네 번째 행렬은 열 벡터이고, 다섯 번째 행렬은 행 벡터다.

행의 개수가 \( m \)개, 열의 개수가 \( n \)개인 행렬의 사이즈는 \( m \times n \) 으로 표시한다.

행렬은 일반적으로 대문자로 표시한다. 예를 들면 다음과 같다.

 

\[ B= \begin{bmatrix} 1 & 2 \\ -3.1 & 5 \\ 0 & -0.5 \end{bmatrix} , \ \ \ A= \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \tag{2} \]

 

벡터는 일반적으로 고딕체 소문자로 표시한다. 예를 들면 다음과 같다.

 

\[ \mathbf{c} = \begin{bmatrix} 3 \\ 2 \\ 1 \end{bmatrix} , \ \ \ \mathbf{d} = \begin{bmatrix} 4 & 3 \end{bmatrix} \tag{3} \]

 

임의의 행렬 \( A \)는 행렬의 구성 성분을 이용하여 다음과 같이 표시하기도 한다.

 

\[ A = [ a_{ij} ] \tag{4} \]

 

여기서 아래 첨자 \( i \)는 \( i \)번째 행, \( j \)는 \( j \)번째 열을 나타낸다.

행렬의 성분이 모두 실수(real number)로 된 행렬을 실수 행렬이라고 한다. 사이즈가 \( m \times n \) 실수 행렬은 \( \mathbb{R}^{m \times n} \)으로 표시한다. 식 (2)에서 행렬 \( A \)는 사이즈는 \( 3 \times 2 \) 인 실수 행렬이므로 \( A \in \mathbb{R}^{m \times n } \)로 표시한다. 행렬의 성분 중에 복소수(complex number)가 있다면 복소수 행렬이라고 한다. 사이즈가 \( m \times n \) 복소수 행렬은 \( \mathbb{C}^{m \times n} \)으로 표시한다.

행렬은 데이터를 저장하고 처리하는데 매우 편리한 데이터 표현 방식이다. 예를 들어보자.

사진 또는 이미지 데이터는 행렬로 처리된다. 이미지 행렬의 성분은 각 픽셀의 세기(intensity)를 나타낸다. 숫자가 커질수록 픽셀의 밝기가 커진다.

 

 

칼라 이미지도 빨간색(Red), 녹색(Green), 파란색(Blue)의 픽셀 세기를 표시하는 세 개의 행렬로 표현한다.

 

 

테이블 형태로 주어지는 많은 일상적인 또는 전문적인 데이터도 행렬로 표현할 수 있다. 예를 들면 학생의 각 과목 성적을 행렬로 표현할 수 있다.

 

 

선형 연립 방정식도 행렬로 표시할 수 있다. 예를 들어서 다음과 같은 연립 방정식이 있을 때,

 

\[ \begin{align} & 2x_1+3x_2+x_3=9 \\ \\ & 5x_1-2x_2+7x_3=-3 \end{align} \]

 

관련된 행렬을 다음과 같이 설정할 수 있다.

 

\[ A =\begin{bmatrix} 2 & 3 & 1 \\ 5 & -2 & 7 \end{bmatrix} , \ \ \mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} , \ \ \mathbf{b} = \begin{bmatrix} 9 \\ -3 \end{bmatrix} \tag{5} \]

 

이렇듯 많은 분야에서 데이터를 행렬로 표시하고 처리할 수 있으므로 과학기술 전문 언어인 매트랩에서는 행렬을 기본 연산단위로 한다. 매트랩(matlab)이라는 이름도 MATrix LABoratory에서 유래된 것이다. 딥러닝 패키지인 텐서플로와 파이토치 등도 텐서라고 불리는 행렬로 데이터를 표현하고 처리한다.

 

 

댓글