6.112 조건수의 정의와 기하학적 의미

1. 조건수의 정의

행렬의 조건수(condition number)는 선형 시스템의 해가 입력 데이터의 변동에 얼마나 민감하게 반응하는지를 정량적으로 나타내는 지표이다.

정의 6.112.1 (조건수). 가역 행렬 A \in \mathbb{R}^{n \times n}p-노름에 대한 조건수는 다음과 같이 정의된다.

\kappa_p(A) = \|A\|_p \|A^{-1}\|_p

가장 널리 사용되는 2-노름 조건수는 다음과 같다.

\kappa_2(A) = \|A\|_2 \|A^{-1}\|_2 = \frac{\sigma_{\max}(A)}{\sigma_{\min}(A)}

여기서 \sigma_{\max}(A)\sigma_{\min}(A)는 각각 A의 최대 특이값과 최소 특이값이다.

정리 6.112.1. 조건수는 다음 기본 성질을 만족한다.

(i) \kappa_p(A) \geq 1

(ii) \kappa_p(\alpha A) = \kappa_p(A) (\alpha \neq 0)

(iii) \kappa_2(A) = \kappa_2(A^\top)

(iv) 직교 행렬 Q에 대하여 \kappa_2(Q) = 1

(v) \kappa_2(QA) = \kappa_2(AQ) = \kappa_2(A) (직교 행렬에 의한 불변성)

증명. (i) \kappa_p(A) = \|A\|_p \|A^{-1}\|_p \geq \|A A^{-1}\|_p = \|I\|_p = 1이다. (iv) 직교 행렬의 특이값은 모두 1이므로 \sigma_{\max}(Q) = \sigma_{\min}(Q) = 1이다. 따라서 \kappa_2(Q) = 1이다. \square

2. 조건수의 기하학적 의미

2.1 단위구의 변환

행렬 A는 단위구(unit sphere) S = \{\mathbf{x} \in \mathbb{R}^n : \|\mathbf{x}\|_2 = 1\}를 초타원체(hyperellipsoid)로 변환한다. 이 초타원체의 반축 길이는 A의 특이값 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_n > 0과 같다.

  • 최장 반축의 길이: \sigma_{\max} = \sigma_1
  • 최단 반축의 길이: \sigma_{\min} = \sigma_n

조건수는 이 초타원체의 편평도(eccentricity)를 나타낸다.

\kappa_2(A) = \frac{\sigma_{\max}}{\sigma_{\min}} = \frac{\text{최장 반축 길이}}{\text{최단 반축 길이}}

\kappa_2(A) = 1이면 초타원체는 구이며, 행렬은 등방적(isotropic) 변환을 수행한다. \kappa_2(A)가 클수록 초타원체는 납작해지며, 특정 방향에서의 변환 비율과 다른 방향에서의 변환 비율 사이의 차이가 커진다.

신장 비율의 해석

단위 벡터 \mathbf{x}에 대하여, A\mathbf{x}의 크기는 다음 범위에 있다.

\sigma_{\min} \leq \|A\mathbf{x}\| \leq \sigma_{\max}

따라서 입력의 방향에 따른 출력 크기의 최대/최소 비율이 바로 조건수이다. 이는 행렬 A에 의한 선형 변환이 방향에 따라 얼마나 불균일하게 신장 또는 수축을 수행하는지를 정량화한다.

3. 선형 시스템의 민감도 분석

3.1 우변 벡터의 섭동

선형 시스템 A\mathbf{x} = \mathbf{b}에서 \mathbf{b}에 섭동 \delta\mathbf{b}가 가해져 A(\mathbf{x} + \delta\mathbf{x}) = \mathbf{b} + \delta\mathbf{b}가 되면, 해의 상대 오차는 다음 부등식으로 상한이 주어진다.

정리 6.112.2 (해의 상대 오차 상한). A\mathbf{x} = \mathbf{b} (\mathbf{b} \neq \mathbf{0})에서,

\frac{\|\delta\mathbf{x}\|}{\|\mathbf{x}\|} \leq \kappa(A) \frac{\|\delta\mathbf{b}\|}{\|\mathbf{b}\|}

증명. \delta\mathbf{x} = A^{-1}\delta\mathbf{b}이므로 \|\delta\mathbf{x}\| \leq \|A^{-1}\| \|\delta\mathbf{b}\|이다. 또한 \|\mathbf{b}\| = \|A\mathbf{x}\| \leq \|A\| \|\mathbf{x}\|이므로 \frac{1}{\|\mathbf{x}\|} \leq \frac{\|A\|}{\|\mathbf{b}\|}이다. 이 두 부등식을 결합하면,

\frac{\|\delta\mathbf{x}\|}{\|\mathbf{x}\|} \leq \|A^{-1}\| \|\delta\mathbf{b}\| \cdot \frac{\|A\|}{\|\mathbf{b}\|} = \kappa(A) \frac{\|\delta\mathbf{b}\|}{\|\mathbf{b}\|}

\square

이 부등식은 날카로운(sharp) 상한이다. 즉, 등호를 달성하는 \mathbf{b}\delta\mathbf{b}가 존재한다.

3.2 계수 행렬의 섭동

행렬 A에 섭동 \delta A가 가해져 (A + \delta A)(\mathbf{x} + \delta\mathbf{x}) = \mathbf{b}가 되면, \|\delta A\| < \frac{1}{\|A^{-1}\|}일 때 다음이 성립한다.

\frac{\|\delta\mathbf{x}\|}{\|\mathbf{x} + \delta\mathbf{x}\|} \leq \kappa(A) \frac{\|\delta A\|}{\|A\|}

조건수와 유효 자릿수

부동 소수점 연산의 기계 정밀도(machine epsilon)를 \epsilon_{\text{mach}}라 하면, 선형 시스템 A\mathbf{x} = \mathbf{b}의 수치 해에서 유효 자릿수의 손실은 대략 다음과 같다.

\text{손실 자릿수} \approx \log_{10}(\kappa(A))

예를 들어, \kappa(A) = 10^6이고 배정밀도(\epsilon_{\text{mach}} \approx 10^{-16})를 사용하면, 해에서 약 16 - 6 = 10자리의 유효 숫자만 신뢰할 수 있다.

\kappa(A)상태유효 자릿수 손실 (배정밀도)
\sim 1최적 조건0자리
\sim 10^3양호약 3자리
\sim 10^8나쁨약 8자리
\sim 10^{16}사실상 특이거의 모든 자릿수

4. 직사각 행렬의 조건수

직사각 행렬 A \in \mathbb{R}^{m \times n} (m \neq n)에 대해서도 조건수를 정의할 수 있다.

정의 6.112.2 (직사각 행렬의 조건수). A \in \mathbb{R}^{m \times n}이 최대 랭크를 가질 때,

\kappa_2(A) = \frac{\sigma_{\max}(A)}{\sigma_{\min}(A)}

여기서 \sigma_{\min}(A)A의 영이 아닌 최소 특이값이다.

과결정 시스템(m > n)의 최소 제곱 해 \mathbf{x}^* = (A^\top A)^{-1} A^\top \mathbf{b}에서, 해의 민감도는 \kappa_2(A)에 의해 결정된다. 특히, 정규 방정식 A^\top A \mathbf{x} = A^\top \mathbf{b}의 조건수는 다음과 같다.

\kappa_2(A^\top A) = \kappa_2(A)^2

이는 정규 방정식을 직접 풀면 조건수가 제곱되어 수치적 안정성이 크게 저하됨을 의미한다. 이러한 이유로 QR 분해나 SVD를 이용한 풀이가 선호된다.

5. 로봇공학에서의 조건수

5.1 자코비안의 조건수

로봇 자코비안 J(\mathbf{q})의 조건수는 로봇의 등방성(isotropy)과 정밀도를 평가하는 핵심 지표이다.

\kappa_2(J) = \frac{\sigma_{\max}(J)}{\sigma_{\min}(J)}

이 값의 기하학적 의미는 다음과 같다.

  • \kappa_2(J) = 1: 모든 방향에서 균일한 속도 전달 능력. 이를 등방 형상(isotropic configuration)이라 한다.
  • \kappa_2(J) \gg 1: 특정 방향에서 속도 전달 능력이 다른 방향에 비해 현저히 저하. 비등방적(anisotropic) 형상이다.
  • \kappa_2(J) \to \infty: 특이 형상(singular configuration). \sigma_{\min} \to 0이므로 최소한 하나의 방향에서 말단 장치 속도를 생성할 수 없다.

역 조건수와 등방성 지표

역 조건수(reciprocal condition number)는 다음과 같이 정의된다.

\mu = \frac{1}{\kappa_2(J)} = \frac{\sigma_{\min}(J)}{\sigma_{\max}(J)}

0 \leq \mu \leq 1의 범위를 가지며, \mu = 1이 최적(등방 형상), \mu = 0이 특이 형상에 해당한다. 역 조건수는 로봇 기구의 최적 설계(kinematic design optimization)에서 목적 함수로 널리 사용된다.

5.2 속도 타원체와 조건수

말단 장치의 속도 타원체(velocity ellipsoid)는 단위 관절 속도구 \|\dot{\mathbf{q}}\|_2 = 1에 대응하는 작업 공간 속도의 집합이다.

\mathcal{E}_v = \{\dot{\mathbf{x}} = J\dot{\mathbf{q}} : \|\dot{\mathbf{q}}\|_2 = 1\}

이 타원체의 주축 길이는 J의 특이값 \sigma_1, \sigma_2, \ldots, \sigma_m이고, 주축 방향은 U의 열벡터(J = U\Sigma V^\top에서의 좌측 특이 벡터)이다.

조건수 \kappa_2(J)는 속도 타원체의 최장 축과 최단 축의 비율이므로, 타원체가 구에 가까울수록 조건수가 1에 가깝고, 편평할수록 조건수가 커진다.

힘 타원체와의 관계

힘 타원체(force ellipsoid)는 단위 관절 토크구 \|\boldsymbol{\tau}\|_2 = 1에 대응하는 말단 장치 힘의 집합이다. 힘과 토크의 관계 \boldsymbol{\tau} = J^\top \mathbf{f}로부터, 힘 타원체의 주축 길이는 J의 특이값의 역수 \frac{1}{\sigma_1}, \frac{1}{\sigma_2}, \ldots, \frac{1}{\sigma_m}이다.

따라서 속도 타원체에서 가장 긴 축 방향은 힘 타원체에서 가장 짧은 축 방향에 해당하며, 이는 속도 생성이 용이한 방향에서는 힘 생성이 어렵고 그 반대도 성립함을 의미한다. 조건수는 이러한 속도-힘의 trade-off의 심각도를 정량화한다.

역기구학의 수치적 신뢰도

역기구학에서 \dot{\mathbf{q}} = J^{-1}\dot{\mathbf{x}} (또는 J^+ \dot{\mathbf{x}})를 계산할 때, 작업 공간 속도의 오차 \delta\dot{\mathbf{x}}가 관절 속도에 미치는 영향은 다음과 같다.

\frac{\|\delta\dot{\mathbf{q}}\|}{\|\dot{\mathbf{q}}\|} \leq \kappa_2(J) \frac{\|\delta\dot{\mathbf{x}}\|}{\|\dot{\mathbf{x}}\|}

조건수가 큰 형상에서는 작업 공간 속도의 작은 오차도 관절 속도에 크게 증폭되므로, 수치적으로 불안정한 해를 얻게 된다.

6. 조건수의 개선 방법

6.1 스케일링을 통한 조건수 개선

자코비안의 조건수는 관절 변수와 작업 공간 변수의 물리적 단위에 의존한다. 회전 관절(라디안)과 병진 관절(미터)이 혼합된 경우, 적절한 스케일링 행렬 D_qD_x를 도입하여 정규화된 자코비안을 정의한다.

\bar{J} = D_x^{-1} J D_q

이 정규화를 통해 물리적 단위의 불일치로 인한 조건수의 인위적 증가를 방지할 수 있다.

감쇠 최소 제곱법

조건수가 큰 형상 근방에서 감쇠 계수 \lambda를 도입하면,

J_\lambda^+ = J^\top (JJ^\top + \lambda^2 I)^{-1}

감쇠된 시스템의 유효 조건수는 다음과 같다.

\kappa_{\text{eff}} = \frac{\sigma_{\max}}{\sqrt{\sigma_{\min}^2 + \lambda^2}}

\lambda > 0에 의해 유효 조건수가 유한하게 유지되므로, 특이점 근방에서도 수치적으로 안정한 해를 얻을 수 있다.

수치 예제

다음 행렬의 조건수를 계산하고 기하학적 의미를 해석하자.

A = \begin{bmatrix} 10 & 7 \\ 0 & 0.1 \end{bmatrix}

특이값 분해를 수행하면, A^\top A = \begin{bmatrix} 100 & 70 \\ 70 & 49.01 \end{bmatrix}이다.

특성 방정식 \lambda^2 - 149.01\lambda + 101 = 0으로부터 \lambda_1 \approx 148.33, \lambda_2 \approx 0.681이다.

따라서 특이값은 \sigma_1 \approx 12.18, \sigma_2 \approx 0.825이고,

\kappa_2(A) = \frac{12.18}{0.825} \approx 14.76

이는 단위구가 A에 의해 장축 12.18, 단축 0.825인 타원으로 변환되며, 장축 방향의 신장이 단축 방향보다 약 14.8배 크다는 것을 의미한다. 선형 시스템 A\mathbf{x} = \mathbf{b}에서 \mathbf{b}의 상대 오차가 해의 상대 오차로 최대 14.8배까지 증폭될 수 있다.

비교적 양호한 조건수이며, 약 1자리의 유효 자릿수 손실이 예상된다.


참고문헌

  • Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
  • Trefethen, L. N., & Bau, D. (1997). Numerical Linear Algebra. SIAM.
  • Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Wellesley-Cambridge Press.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  • Salisbury, J. K., & Craig, J. J. (1982). Articulated hands: Force control and kinematic issues. The International Journal of Robotics Research, 1(1), 4–17.

v 0.1