6.12 행렬의 정의와 표기법

1. 행렬의 정의

행렬(matrix)은 수, 기호, 또는 식을 직사각형 모양으로 정렬하여 나열한 수학적 객체이다. 행렬은 선형 변환의 수치적 표현이며, 연립 일차 방정식의 계수, 좌표 변환, 자코비안, 공분산 등 로봇공학의 거의 모든 영역에서 기본 자료 구조로 사용된다.

정의 6.12.1 (행렬).\mathbb{F}의 원소를 m개의 행과 n개의 열로 배열한 직사각형 형태의 수치 배열을 m \times n 행렬이라 한다.

A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix}

여기서 a_{ij} \in \mathbb{F}는 행렬 Aij열에 위치한 성분(entry, element)이다. m \times n을 행렬 A의 크기(size) 또는 차원(dimension)이라 한다. \mathbb{F} = \mathbb{R}인 경우의 모든 m \times n 행렬의 집합을 \mathbb{R}^{m \times n}으로 표기한다.

행렬의 성분 표기

행렬 Aij열 성분은 다음과 같이 다양한 표기로 나타낼 수 있다.

a_{ij} = (A)_{ij} = [A]_{ij} = A[i,j]

지표 i를 행 지표(row index), j를 열 지표(column index)라 한다. 본 서적에서는 일반적으로 a_{ij} 표기를 사용하며, 명확성을 위해 필요한 경우 (A)_{ij} 표기를 병행한다.

행렬 자체는 다음과 같이 간결하게 표기하기도 한다.

A = [a_{ij}]_{m \times n} \quad \text{또는} \quad A = (a_{ij})

행과 열

행렬 Ai번째 행은 1 \times n 행렬이며, 다음과 같이 표기한다.

\mathbf{a}_i^{\text{row}} = \begin{bmatrix} a_{i1} & a_{i2} & \cdots & a_{in} \end{bmatrix}

행렬 Aj번째 열은 m \times 1 행렬(즉, 열벡터)이며, 다음과 같이 표기한다.

\mathbf{a}_j = \begin{bmatrix} a_{1j} \\ a_{2j} \\ \vdots \\ a_{mj} \end{bmatrix}

이 표기를 이용하면 행렬은 열벡터 또는 행벡터의 집합으로 표현할 수 있다.

A = \begin{bmatrix} \mathbf{a}_1 & \mathbf{a}_2 & \cdots & \mathbf{a}_n \end{bmatrix} = \begin{bmatrix} \mathbf{a}_1^{\text{row}} \\ \mathbf{a}_2^{\text{row}} \\ \vdots \\ \mathbf{a}_m^{\text{row}} \end{bmatrix}

2. 행렬의 동등성

정의 6.12.2 (행렬의 동등). 두 행렬 AB가 동일한 크기를 가지고 모든 대응하는 성분이 같을 때, 즉

A_{m \times n} = B_{m \times n} \iff a_{ij} = b_{ij} \text{ for all } i, j

일 때 두 행렬은 동등하다(equal)고 한다.

특수한 형태의 행렬

정방 행렬

행과 열의 수가 같은 행렬, 즉 m = n인 행렬을 정방 행렬(square matrix)이라 한다. n \times n 정방 행렬의 집합을 \mathbb{R}^{n \times n}으로 표기한다. 정방 행렬에 대해서만 행렬식, 역행렬, 고유값 등의 개념이 정의된다.

정방 행렬에서 성분 a_{11}, a_{22}, \ldots, a_{nn}을 주대각선(main diagonal) 성분이라 하며, 이들의 합을 대각합(trace)이라 한다.

\text{tr}(A) = \sum_{i=1}^{n} a_{ii}

2.1 행벡터와 열벡터

1 \times n 행렬을 행벡터(row vector)라 하고, m \times 1 행렬을 열벡터(column vector)라 한다. 본 서적에서는 별도의 명시가 없는 한 벡터를 열벡터로 취급한다.

2.2 영행렬

모든 성분이 0인 행렬을 영행렬(zero matrix)이라 하며 O 또는 \mathbf{0}으로 표기한다.

O_{m \times n} = \begin{bmatrix} 0 & 0 & \cdots & 0 \\ 0 & 0 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 0 \end{bmatrix}

영행렬은 행렬 덧셈의 항등원이다.

항등 행렬

주대각선 성분이 모두 1이고 나머지 성분이 모두 0인 정방 행렬을 항등 행렬(identity matrix)이라 하며 I 또는 I_n으로 표기한다.

I_n = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{bmatrix}

크로네커 델타를 이용하면 (I_n)_{ij} = \delta_{ij}로 표현된다. 항등 행렬은 행렬 곱셈의 항등원이다.

2.3 대각 행렬

주대각선을 제외한 모든 성분이 0인 정방 행렬을 대각 행렬(diagonal matrix)이라 한다.

D = \text{diag}(d_1, d_2, \ldots, d_n) = \begin{bmatrix} d_1 & 0 & \cdots & 0 \\ 0 & d_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_n \end{bmatrix}

삼각 행렬

주대각선의 위쪽 성분이 모두 0인 정방 행렬을 하삼각 행렬(lower triangular matrix)이라 하며, 주대각선의 아래쪽 성분이 모두 0인 정방 행렬을 상삼각 행렬(upper triangular matrix)이라 한다.

L = \begin{bmatrix} l_{11} & 0 & \cdots & 0 \\ l_{21} & l_{22} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ l_{n1} & l_{n2} & \cdots & l_{nn} \end{bmatrix}, \quad U = \begin{bmatrix} u_{11} & u_{12} & \cdots & u_{1n} \\ 0 & u_{22} & \cdots & u_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & u_{nn} \end{bmatrix}

3. 전치 행렬

정의 6.12.3 (전치). m \times n 행렬 A의 전치(transpose) A^\topA의 행과 열을 바꾸어 얻은 n \times m 행렬이다.

(A^\top)_{ij} = a_{ji}

전치 연산의 성질은 다음과 같다.

  1. (A^\top)^\top = A
  2. (A + B)^\top = A^\top + B^\top
  3. (kA)^\top = k A^\top
  4. (AB)^\top = B^\top A^\top (순서가 바뀜)

표기 규약

본 서적에서는 다음의 표기 규약을 따른다.

표기의미
대문자 A, B, C, \ldots행렬
볼드체 소문자 \mathbf{u}, \mathbf{v}, \mathbf{x}, \ldots벡터 (열벡터)
소문자 a, b, c, \ldots스칼라
a_{ij} 또는 A_{ij}행렬 A(i,j) 성분
A^\top행렬 A의 전치
A^{-1}행렬 A의 역행렬
A^\ast켤레 전치 (Hermitian 전치)
\det(A) 또는 \vert A \vert행렬 A의 행렬식
\text{tr}(A)행렬 A의 대각합
\text{rank}(A)행렬 A의 랭크

로봇공학에서 행렬 표기 응용

좌표계와 회전 행렬

좌표계 사이의 회전을 나타내는 회전 행렬은 좌측 상첨자와 하첨자로 변환의 방향을 명시한다.

{}^A R_B \in \mathbb{R}^{3 \times 3}

여기서 {}^A R_B는 좌표계 \{B\}에서 표현된 벡터를 좌표계 \{A\}에서 표현된 벡터로 변환하는 행렬이다. 이 표기는 회전 변환의 합성에서 인접한 지표가 일치하는지 확인하여 변환의 정확성을 검증할 수 있게 한다.

{}^A R_C = {}^A R_B \cdot {}^B R_C

동차 변환 행렬

동차 변환 행렬은 회전과 병진을 결합하여 표현하는 4 \times 4 블록 행렬이다.

{}^A T_B = \begin{bmatrix} {}^A R_B & {}^A \mathbf{p}_{B_{\text{org}}} \\ \mathbf{0}^\top & 1 \end{bmatrix}

이 블록 표기는 회전 부분과 병진 부분을 명확히 분리하여 보여 주며, 강체 변환의 합성과 역변환을 직관적으로 표현한다.

3.1 자코비안 행렬

n자유도 매니퓰레이터의 자코비안은 일반적으로 6 \times n 행렬이며, 선속도 부분과 각속도 부분의 블록으로 나뉜다.

J(\mathbf{q}) = \begin{bmatrix} J_v(\mathbf{q}) \\ J_\omega(\mathbf{q}) \end{bmatrix} \in \mathbb{R}^{6 \times n}

여기서 J_v \in \mathbb{R}^{3 \times n}은 선속도 자코비안이고, J_\omega \in \mathbb{R}^{3 \times n}은 각속도 자코비안이다.

관성 행렬

n자유도 로봇의 관성 행렬 M(\mathbf{q})n \times n 대칭 양정치 행렬이다.

M(\mathbf{q}) \in \mathbb{R}^{n \times n}, \quad M(\mathbf{q}) = M(\mathbf{q})^\top, \quad M(\mathbf{q}) \succ 0

여기서 \succ 0은 양정치성을 나타낸다. 관성 행렬은 운동 에너지 T = \frac{1}{2}\dot{\mathbf{q}}^\top M(\mathbf{q}) \dot{\mathbf{q}}의 정의에 사용된다.

3.2 공분산 행렬

확률적 상태 추정에서 상태 벡터 \mathbf{x} \in \mathbb{R}^n의 공분산 행렬 \Sigman \times n 대칭 양반정치(positive semidefinite) 행렬이다.

\Sigma_{ij} = E[(x_i - \mu_i)(x_j - \mu_j)]

대각 성분 \Sigma_{ii}는 각 상태 변수의 분산이며, 비대각 성분은 변수 간의 공분산이다.


참고문헌

  • Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Wellesley-Cambridge Press.
  • Axler, S. (2024). Linear Algebra Done Right (4th ed.). Springer.
  • Craig, J. J. (2018). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.

Version: 1.0