6.25 연립 일차 방정식의 행렬 표현

1. 연립 일차 방정식과 선형대수학

연립 일차 방정식(system of linear equations)은 모든 자연 과학과 공학의 기초적 수학 도구이며, 로봇공학에서는 역기구학, 정역학, 동역학, 상태 추정, 제어, 최적화 등 거의 모든 영역에서 등장한다. 행렬 표현은 연립 일차 방정식을 단일한 대수적 구조로 통합하여 일관된 방법으로 분석하고 해결할 수 있게 하며, 선형대수학 전체의 출발점이라 할 수 있다. 본 절에서는 연립 일차 방정식의 다양한 행렬 표현, 그 해석, 그리고 로봇공학에서의 응용을 체계적으로 다룬다.

2. 연립 일차 방정식의 일반 형식

m개의 일차 방정식으로 이루어진 n개의 미지수에 관한 연립 방정식은 다음과 같이 표현된다.

\begin{aligned} a_{11} x_1 + a_{12} x_2 + \cdots + a_{1n} x_n &= b_1 \\ a_{21} x_1 + a_{22} x_2 + \cdots + a_{2n} x_n &= b_2 \\ &\vdots \\ a_{m1} x_1 + a_{m2} x_2 + \cdots + a_{mn} x_n &= b_m \end{aligned}

여기서 a_{ij}는 계수, x_j는 미지수, b_i는 상수이다. 이 시스템은 다음의 정보를 가진다.

  • 방정식의 수 m
  • 미지수의 수 n
  • 계수 a_{ij} (i = 1, \ldots, m, j = 1, \ldots, n)
  • 상수항 b_i

m = n인 경우를 정방 시스템(square system), m > n인 경우를 과결정 시스템(overdetermined system), m < n인 경우를 부족 결정 시스템(underdetermined system)이라 한다.

행렬 형식 A\mathbf{x} = \mathbf{b}

연립 일차 방정식은 다음과 같이 단일한 행렬 방정식으로 표현된다.

A \mathbf{x} = \mathbf{b}

여기서

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}, \quad \mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix}, \quad \mathbf{b} = \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{bmatrix}

이다. A를 계수 행렬(coefficient matrix), \mathbf{x}를 미지수 벡터, \mathbf{b}를 상수 벡터라 한다. 이 표현은 다음의 두 가지 의미를 동시에 가진다.

의미 1 (행 관점): A의 각 행은 하나의 방정식의 계수에 해당하며, 행렬-벡터 곱 A\mathbf{x}의 각 성분이 그 방정식의 좌변이다.

의미 2 (열 관점): 행렬-벡터 곱은 A의 열들의 선형 결합으로 표현된다.

A\mathbf{x} = x_1 \mathbf{a}_1 + x_2 \mathbf{a}_2 + \cdots + x_n \mathbf{a}_n

여기서 \mathbf{a}_jAj번째 열이다. 이 관점에서 A\mathbf{x} = \mathbf{b}는 “\mathbf{b}A의 열들의 선형 결합으로 표현될 수 있는가?“라는 질문이 된다.

3. 확장 행렬

연립 일차 방정식을 풀이하기 위해서는 계수와 상수항의 정보가 모두 필요하다. 이를 단일한 행렬로 결합한 것이 확장 행렬(augmented matrix)이다.

[A \mid \mathbf{b}] = \left[ \begin{array}{cccc|c} a_{11} & a_{12} & \cdots & a_{1n} & b_1 \\ a_{21} & a_{22} & \cdots & a_{2n} & b_2 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} & b_m \end{array} \right]

확장 행렬은 m \times (n+1) 행렬이며, 가우스 소거법과 가우스-조르단 소거법을 적용하기 위한 표준 형식이다. 수직 막대는 계수와 상수항을 시각적으로 분리하기 위한 표기일 뿐이며 행렬 자체는 변하지 않는다.

동차 시스템과 비동차 시스템

상수 벡터가 영벡터인 시스템 A\mathbf{x} = \mathbf{0}을 동차 시스템(homogeneous system)이라 하고, 그렇지 않은 시스템 A\mathbf{x} = \mathbf{b} (\mathbf{b} \neq \mathbf{0})을 비동차 시스템(inhomogeneous system)이라 한다.

동차 시스템은 항상 자명한 해 \mathbf{x} = \mathbf{0}을 가지므로 해의 존재성 문제는 발생하지 않는다. 대신 비자명한 해의 존재 여부와 해 공간의 구조가 핵심 질문이 된다.

비동차 시스템의 해의 일반 구조는 다음 정리로 표현된다.

정리 6.25.1. 비동차 시스템 A\mathbf{x} = \mathbf{b}의 한 특수해를 \mathbf{x}_p라 하면, 모든 해의 집합은 다음과 같다.

\{\mathbf{x}_p + \mathbf{x}_h : \mathbf{x}_h \in \text{Null}(A)\}

여기서 \text{Null}(A)는 동차 시스템 A\mathbf{x} = \mathbf{0}의 해 공간(영 공간)이다.

이 정리는 비동차 시스템의 해 공간이 동차 시스템의 해 공간을 평행 이동한 아핀 부분 공간임을 의미한다.

4. 해의 가능성

연립 일차 방정식 A\mathbf{x} = \mathbf{b}의 해는 다음 세 가지 중 하나의 가능성을 가진다.

(가능성 1) 해가 존재하지 않는다 (불일치 시스템, inconsistent system).

(가능성 2) 정확히 하나의 해가 존재한다 (유일 해, unique solution).

(가능성 3) 무한히 많은 해가 존재한다 (해 공간이 양의 차원을 가짐).

이 세 가지 가능성은 계수 행렬과 확장 행렬의 랭크 비교로 판정된다.

정리 6.25.2 (루셰-카펠리 정리, Rouché-Capelli theorem). 연립 일차 방정식 A\mathbf{x} = \mathbf{b}에 대하여:

  1. 해가 존재할 필요 충분 조건은 \text{rank}(A) = \text{rank}([A \mid \mathbf{b}])이다.
  2. 해가 존재할 때, 유일 해를 가질 필요 충분 조건은 \text{rank}(A) = n (n은 미지수의 수)이다.
  3. 해가 존재하고 \text{rank}(A) = r < n이면, 해 공간은 n - r차원의 아핀 부분 공간이다 (자유 변수의 수가 n - r).

5. 행렬 형식의 다른 변형

5.1 우변이 행렬인 경우

다중 우변(multiple right-hand sides)을 가지는 시스템

A X = B

여기서 X \in \mathbb{R}^{n \times k}, B \in \mathbb{R}^{m \times k}이다. 이는 동일한 계수 행렬을 가지는 k개의 독립적인 시스템 A \mathbf{x}_j = \mathbf{b}_j (j = 1, \ldots, k)을 한꺼번에 표현한 것이다. LU 분해 등의 분해 기반 방법은 이러한 다중 우변에 대해 한 번의 분해만으로 효율적으로 풀 수 있다.

양변에 행렬이 있는 경우

실베스터 방정식, 리아푸노프 방정식 등은 다음과 같이 양변에 미지 행렬이 등장하는 형태이다.

AX + XB = C

이러한 방정식은 크로네커 곱과 벡터화 연산자를 사용하여 표준 행렬 방정식으로 변환된다.

(I \otimes A + B^\top \otimes I) \text{vec}(X) = \text{vec}(C)

이 변환은 제어 이론과 안정성 해석에 자주 등장한다.

블록 형식

큰 시스템은 자연스러운 블록 구조를 가지는 경우가 많다. 예를 들어

\begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix} \begin{bmatrix} \mathbf{x}_1 \\ \mathbf{x}_2 \end{bmatrix} = \begin{bmatrix} \mathbf{b}_1 \\ \mathbf{b}_2 \end{bmatrix}

이러한 블록 형식은 슈어 보수와 결합되어 큰 시스템을 작은 부분 시스템으로 환원하는 분할 정복 풀이를 가능하게 한다.

6. 표기의 추상적 의의

행렬 표현 A\mathbf{x} = \mathbf{b}의 본질적 의의는 다음과 같이 정리된다.

1. 통일성: 임의의 크기와 구조를 가진 연립 일차 방정식을 단일한 형식으로 표현한다.

2. 추상화: 개별 방정식의 세부 사항으로부터 분리되어 시스템의 구조적 성질(랭크, 영 공간, 상 공간)을 분석할 수 있게 한다.

3. 알고리즘성: 일반적인 해법(가우스 소거법, LU 분해, QR 분해 등)을 동일하게 적용할 수 있다.

4. 변환과의 연결: 행렬을 선형 변환으로 해석하면, A\mathbf{x} = \mathbf{b}는 “어떤 입력 \mathbf{x}가 변환 T_A에 의해 \mathbf{b}로 매핑되는가?“의 역방향 질문이 된다.

7. 로봇공학에서의 응용

7.1 역기구학의 선형화

비선형 역기구학을 반복적으로 풀이할 때, 각 반복에서 자코비안을 이용한 선형화가 다음의 행렬 방정식을 만든다.

J(\mathbf{q}_k) \Delta \mathbf{q} = \mathbf{e}_k

여기서 J는 자코비안, \Delta \mathbf{q}는 관절 변수의 갱신, \mathbf{e}_k는 작업 공간 오차이다. 이 방정식의 풀이는 매 반복마다 연립 일차 방정식을 푸는 것과 동치이다.

정역학과 힘-토크 매핑

말단 장치의 힘과 토크 \mathbf{F}로부터 관절 토크 \boldsymbol{\tau}를 계산하는 정역학은 자코비안의 전치를 통해 다음과 같이 표현된다.

J^\top \mathbf{F} = \boldsymbol{\tau}

반대로 주어진 관절 토크가 만들어낼 수 있는 말단 힘은 이 시스템의 역방향 풀이로 결정된다.

7.2 동역학 가속도 풀이

라그랑주 동역학의 정방향 풀이는 다음의 시스템을 푸는 것이다.

M(\mathbf{q}) \ddot{\mathbf{q}} = \boldsymbol{\tau} - C(\mathbf{q}, \dot{\mathbf{q}}) \dot{\mathbf{q}} - \mathbf{g}(\mathbf{q})

이는 매 시뮬레이션 단계에서 양정치 대칭 시스템을 푸는 것과 동치이며, 촐레스키 분해가 표준적으로 사용된다.

칼만 필터의 갱신 단계

칼만 필터의 갱신 단계에서 칼만 게인은 다음의 시스템에서 유도된다.

(H P^- H^\top + R) K^\top = H P^-

이는 측정 차원의 작은 시스템이며, 측정 행렬 H와 측정 잡음 R, 사전 공분산 P^-로부터 풀이된다.

7.3 다관절 정렬과 강체 정합

점 군 정합(point cloud registration), 강체 정렬, 손-눈 캘리브레이션 등에서 회전과 병진을 추정하는 문제는 일반적으로 과결정 시스템이며, 최소 제곱 해 \mathbf{x} = (A^\top A)^{-1} A^\top \mathbf{b} 또는 SVD 기반 풀이가 사용된다.

7.4 그래프 SLAM의 정규 방정식

그래프 SLAM의 비선형 최소 제곱 문제를 가우스-뉴턴법으로 풀이할 때, 각 반복에서 다음의 거대한 희소 시스템을 푼다.

H \delta \mathbf{x} = -\mathbf{g}

여기서 H는 정보 행렬(헤세의 근사), \delta \mathbf{x}는 변수의 갱신량, \mathbf{g}는 잔차의 자코비안과의 곱이다. 이 시스템은 희소 분해 기법을 통해 효율적으로 풀이된다.

모델 예측 제어의 QP

모델 예측 제어(MPC)에서 매 제어 주기에 풀어야 하는 이차 계획법(QP) 문제는 KKT 조건을 통해 다음과 같은 행렬 방정식으로 환원된다.

\begin{bmatrix} H & A^\top \\ A & 0 \end{bmatrix} \begin{bmatrix} \mathbf{x} \\ \boldsymbol{\lambda} \end{bmatrix} = \begin{bmatrix} -\mathbf{c} \\ \mathbf{b} \end{bmatrix}

이 시스템은 블록 구조를 활용하여 슈어 보수와 리카치 재귀로 효율적으로 풀린다.


참고문헌

  • Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Wellesley-Cambridge Press.
  • Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
  • Boyd, S., & Vandenberghe, L. (2018). Introduction to Applied Linear Algebra. Cambridge University Press.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.

Version: 1.0