1.4. 벡터 노름(norm)과 행렬-노름(matrix-norm)

Table of Contents

  1. 선형연립방정식의 수치해법
    1. 선형연립방정식(linear system)
    2. 크래머 공식(Cramer’s rule)
    3. 가우스 소거법(Gaussian elimination)
    4. 벡터 노름(norm)과 행렬-노름(matrix-norm)
    5. 반복법과 야코비 방법(Jacobi method)
    6. 가우스-자이델 방법(Gauss-Seidel method)
  2. 고윳값 방정식의 수치해법
    1. 고윳값(eigenvalue)과 고유벡터(eigenvector)
    2. 거듭제곱방법(power method)
    3. 역거듭제곱방법(inverse power method)
    4. QR 분해(QR decomposition)를 이용한 방법
  3. 선형회귀(linear regression)
    1. 단순선형회귀(simple linear regression)
    2. 다중선형회귀(multiple linear regression)
    3. 다항회귀(polynomial regression)
  4. 방정식의 수치해법
    1. 이분법(bisection method)
    2. 뉴턴-랩슨 방법(Newton-Raphson method)
    3. 할선법(secant method)
    4. 고정점 반복법(fixed-point iteration method)
    5. 기타 방정식의 수치해법
  5. 보간법(interpolation)
    1. 라그랑주 보간법(Lagrange interpolation)
    2. 뉴턴의 분할차분법(divided difference method)
    3. 에르미트 보간법(Hermite interpolation)
  6. 스플라인(spline)
    1. 일차 스플라인(linear spline)
    2. 이차 스플라인(quadratic spline)
    3. $n$차 스플라인(spline)
  7. 최적근사함수
    1. 직교다항식(orthogonal polynomial)
    2. 최적최소근사다항함수(best approximating polynomial)
  8. 수치미적분법
    1. 테일러 수치미분법(Taylor numerical differentiation)
    2. 리차드슨 외삽법(Richardson extrapolation)
    3. 수치적분법(numerical integration)
    4. 복합수치적분법(composite numerical integration)
    5. 가우스 구적법(Gaussian quadrature)
  9. 초깃값 문제의 수치해법
    1. 오일러 방법(Euler method)
    2. 테일러 방법(Taylor method)
    3. 룽게-쿠타 방법(Runge-Kutta method)
    4. 연립일계상미분방정식과 고계상미분방정식
  10. 경곗값 문제의 수치해법
    1. 유한차분법(finite difference method)
    2. 사격법(shooting method)
    3. 유한요소법(finite element method)

벡터 노름(norm)

벡터 $\mathbf{x} \in \mathbb{R}^{n}$에 대하여 $\mathbf{x}$의 (유클리드) 노름을 다음과 같이 정의 했었다. \[ \norm{\vphantom{|}\mathbf{x}}_2 := \sqrt{\ip{\mathbf{x}}{\mathbf{x}}} = \sqrt{x_1^2 + x_2^2 + \cdots x_n^2} \] 노름을 주어진 벡터의 크기를 일반화한 개념으로써 아래와 같이 정의되는 함수이다.

$ $

정리 1.4.1. 노름(norm)

다음 조건을 만족을 모두 만족하는 함수 $\norm{\vphantom{|}\cdot} : \mathbb{R}^{n} \to \mathbb{R}$를 $\mathbb{R}^{n}$ 위에서 정의된 노름(norm)이라 한다.

  1. 모든 $\mathbf{x} \in \mathbb{R}^{n}$에 대하여 $\norm{\vphantom{|}\mathbf{x}} \geq 0$
  2. $\norm{\vphantom{|}\mathbf{x}} = 0$이면 $\mathbf{x} = \mathbf{0}$이고 그 역도 성립
  3. 임의의 상수 $\alpha \in \mathbb{R}$에 대하여 $\norm{\vphantom{|}\alpha \mathbf{x}} = \abs{\alpha} \norm{\vphantom{|}\mathbf{x}}$
  4. 모든 $\mathbf{x},\, \mathbf{y} \in \mathbb{R}^{n}$에 대하여 \[ \norm{\mathbf{x} + \mathbf{y}} \leq \norm{\vphantom{|}\mathbf{x}} + \norm{\mathbf{y}} \]

$ $

참고. 위 노름의 정의에서 (d)의 부등식을 삼각부등식(triangle inequality)이라 한다.$ $

$ $

수치해석학에서 자주 사용하는 벡터의 노름은 다음과 같은 것들이 있다:
벡터 $\mathbf{x} = (x_1,\, x_2,\, \ldots,\, x_n) \in \mathbb{R}^{n}$에 대한

  • $\norm{\vphantom{|}\mathbf{x}}_1 = \abs{x_1} + \abs{x_2} + \cdots + \abs{x_n}$ ($\ell_1$-노름)
  • $\norm{\vphantom{|}\mathbf{x}}_2 = \sqrt{x_1^2 + x_2^2 + \cdots x_n^2}$ ($\ell_2$-노름)
  • $\norm{\vphantom{|}\mathbf{x}}_{\infty} = \max \big\{\! \abs{x_1},\, \abs{x_2},\, \ldots,\, \abs{x_n} \!\big\}$ ($\ell_\infty$-노름)

$ $

행렬-노름(matrix-norm)

벡터의 노름과 같이 행렬의 노름은 주어진 행렬의 크기를 알려주는 함수이다.

$ $

정리 1.4.2. 행렬-노름(matrix-norm)

다음 조건을 만족을 모두 만족하는 함수 $\Norm{\cdot} : \mathbb{R}^{m \times n} \to \mathbb{R}$를 $\mathbb{R}^{n}$ 위에서 정의된 행렬-노름(matrix-norm)이라 한다.

  1. 모든 $A \in \mathbb{R}^{m \times n}$에 대하여 $\Norm{A} \geq 0$
  2. $\Norm{A} = 0$이면 $A = O$이고 그 역도 성립
  3. 임의의 상수 $\alpha \in \mathbb{R}$에 대하여 $\Norm{\alpha A} = \abs{\alpha} \Norm{A}$
  4. 모든 $A,\, B \in \mathbb{R}^{m \times n}$에 대하여 \[ \Norm{A + B} \leq \Norm{A} + \Norm{B} \]
  5. 모든 $A \in \mathbb{R}^{m \times p}$, $B \in \mathbb{R}^{p \times n}$에 대하여 \[ \Norm{AB} \leq \Norm{A} \Norm{B} \]

$ $

참고. 단위행렬 $I$의 행렬-노름은 언제나 $1$보다 큰 값을 가진다. \[ 0 < \Norm{I} = \Norm{I^2} \leq \Norm{I} \Norm{I} \] 따라서 위 식의 양변을 $\Norm{I}$으로 나누어 주면 $\Norm{I} \geq 1$임을 알 수 있다.$ $

$ $

참고. $\mathbb{R}^n$ 위에서의 벡터 노름 $\norm{\vphantom{|}\cdot}$이 하나 주어졌다고 하자. 이제 행렬 $A \in \mathbb{R}^{n \times n}$에 대하여, \[ \Norm{A} = \max_{\norm{\vphantom{|}\mathbf{x}} = 1} \norm{A \mathbf{x}} \] 로 정의하면 $\Norm{\cdot}$은 언제나 $\mathbb{R}^{n \times n}$ 위에서의 행렬 노름이 된다. 이와 같이 정의되는 행렬 노름을 $\norm{\vphantom{|}\cdot}$로 부터 유도된 작용소 노름(operator norm)이라 한다.$ $

$ $

예를 들어 앞서 살펴본 $\ell_{p}$ ($p = 1,\, 2,\, \infty$) 로부터 유도되는 작용소 노름의 경우, 행렬 $A = [a_{ij}] \in \mathbb{R}^{m \times n}$에 대하여 \begin{align*} \Norm{A}_{1} & = \max_{\norm{\vphantom{|}\mathbf{x}}_{1} = 1} \norm{A \mathbf{x}}_{1} = \max_{1 \leq j \leq n} \sum_{i=1}^{m} \abs{a_{ij}}, \\[1ex] \Norm{A}_{\infty} & = \max_{\norm{\vphantom{|}\mathbf{x}}_{\infty} = 1} \norm{A \mathbf{x}}_{\infty} = \max_{1 \leq i \leq m} \sum_{j=1}^{n} \abs{a_{ij}}, \\[1ex] \Norm{A}_{2} & = \max_{\norm{\vphantom{|}\mathbf{x}}_{2} = 1} \norm{A \mathbf{x}}_{2} = \sqrt{\lambda_{\max}(A^{\T}A)}. \end{align*} 로 각각 주어진다. (따라서 $\Norm{A}_1$은 $A$의 열로 이루어진 벡터의 $\ell_1$-노름 중 최댓값, $\Norm{A}_{\infty}$는 $A$의 행으로 이루어진 벡터의 $\ell_1$-노름 중 최댓값과 같다.)

$ $

또는 다음과 같이 정의되는 프로베니우스 노름(Frobenius norm) 또한 주로 사용된다. \[ \Norm{A}_{F} = \sqrt{\tr(A^{\T}A)} = \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} {a_{ij}}^2}. \]

$ $

예제 1.4.3.
Q. 행렬 $A = \begin{bmatrix} 2 & -2 & 0 \\ 0 & 1 & -2 \end{bmatrix}$에 대하여 $\Norm{A}_{1}$, $\Norm{A}_{\infty}$, $\Norm{A}_{2}$, $\Norm{A}_{F}$를 각각 구하여라.

A. 우선 $\Norm{A}_1$, $\Norm{A}_{\infty}$를 구하면 \begin{align*} \Norm{A}_1 & = \max \{ \abs{2},\, \abs{-2} + \abs{1},\, \abs{-2} \} = 3, \\[1ex] \Norm{A}_{\infty} & = \max \{ \abs{2} + \abs{-2},\, \abs{1} + \abs{-2} \} = 4. \end{align*} 이제 $\Norm{A}_2$를 구해보자. 먼저 \[ A^{\T}A = \begin{bmatrix} 2 & 0 \\ -2 & 1 \\ 0 & -2 \end{bmatrix} \begin{bmatrix} 2 & -2 & 0 \\ 0 & 1 & -2 \end{bmatrix} = \begin{bmatrix} 4 & -4 & 0 \\ 4 & 5 & -2 \\ 0 & -2 & 4 \end{bmatrix} \] 이고 $A^{\T}A$의 고윳값을 구해보면, $\lambda = 9,\, 4,\, 0$이므로 \[ \Norm{A}_2 = \sqrt{9} = 3. \] 마지막으로 \[ \Norm{A}_F = \sqrt{2^2 + (-2)^2 + 1^2 + (-2)^2} = \sqrt{13}. \eqqed \]

$ $

참고. 행렬 $A \in \mathbb{R}^{m \times n}$에 대하여 $A^{\T}A$의 음이 아닌 고윳값과 $AA^{\T}$의 음이 아닌 교윳값은 서로 같음이 알려져 있다. 이를 이용하면, 행렬 \[ AA^{\T} = \begin{bmatrix} 2 & -2 & 0 \\ 0 & 1 & -2 \end{bmatrix} \begin{bmatrix} 2 & 0 \\ -2 & 1 \\ 0 & -2 \end{bmatrix} = \begin{bmatrix} 8 & -2 \\ -2 & 5 \end{bmatrix} \] 의 고윳값 $\lambda = 9,\, 4$로부터 $\Norm{A}_2 = \sqrt{9} = 3$임을 좀 더 쉽게 구할 수 있다.

$ $

마찬가지로 $\tr(A^{\T}A) = \tr(AA^{\T})$가 성립하므로, \[ \sqrt{4 + 5 + 4} = \sqrt{\tr(A^{\T}A)} = \sqrt{\tr(AA^{\T})} = \sqrt{8 + 5} \] 가 되어 $\Norm{A}_F = \sqrt{13}$을 구할 수도 있다.$ $

$ $

조건수(condition number)

선형연립방정식 $A\mathbf{x} = \mathbf{b}$에서 $\mathbf{b}$가 오차로 인해 $\mathbf{b} + \Delta \mathbf{b}$로 변화했다면, 이 방정식의 해 $\mathbf{x}$도 $\mathbf{x} + \Delta \mathbf{x}$로 변화하게 된다. \[ A(\mathbf{x} + \Delta \mathbf{x}) = \mathbf{b} + \Delta \mathbf{b}. \] 따라서 $A\Delta \mathbf{x} = \Delta \mathbf{b}$ 또는 $\Delta \mathbf{x} = A^{-1} \Delta \mathbf{b}$를 얻고 이 식의 양변에 노름을 취해 \[ \norm{\Delta \mathbf{x}} = \norm{A^{-1} \Delta \mathbf{b}} \leq \Norm{A^{-1}} \norm{\Delta \mathbf{b}} \] 를 얻는다. 이제 $A \mathbf{x} = \mathbf{b}$의 양변에 노름을 취해 \[ \norm{\mathbf{b}} = \norm{A \mathbf{x}} \leq \Norm{A} \norm{\vphantom{|}\mathbf{x}} \] 를 얻늗나. 이제 이 두 식을 곱하여 정리하면 \[ \frac{\norm{\Delta \mathbf{x}}}{\norm{\vphantom{|}\mathbf{x}}} \leq \Norm{A} \Norm{A^{-1}} \frac{\norm{\Delta \mathbf{b}}}{\norm{\mathbf{b}}} \] 이 되어 해의 상대오차 $\frac{\norm{\Delta \mathbf{x}}}{\norm{\vphantom{|}\mathbf{x}}}$의 상한을 얻을 수 있다. 같은 방법으로 두 등식 $\mathbf{x} = A^{-1} \mathbf{b}$와 $A \Delta \mathbf{x} = \Delta \mathbf{b}$의 양변에 노름을 취해 얻은 부등식을 서로 곱하여 정리하면, 상대오차에 대한 하한 \[ \frac{1}{\Norm{A} \Norm{A^{-1}}} \frac{\norm{\Delta \mathbf{b}}}{\norm{\mathbf{b}}} \leq \frac{\norm{\Delta \mathbf{x}}}{\norm{\vphantom{|}\mathbf{x}}} \] 또한 얻는다.

$ $

따라서 다음과 같이 정의된 정사각행렬 $A$의 조건수(condition number) \[ \kappa(A) = \Norm{A} \Norm{A^{-1}} \] 를 이용하면 다음 정리를 얻는다.

$ $

정리 1.4.4.

선형연립방정식 $A\mathbf{x} = \mathbf{b}$에서 $\mathbf{b}$가 오차로 인해 $\mathbf{b} + \Delta \mathbf{b}$로 변화하여, \[ A(\mathbf{x} + \Delta \mathbf{x}) = \mathbf{b} + \Delta \mathbf{b} \] 를 얻었다고 하자. 이때, 다음 부등식이 성립한다. \[ \frac{1}{\kappa(A)} \frac{\norm{\Delta \mathbf{b}}}{\norm{\mathbf{b}}} \leq \frac{\norm{\Delta \mathbf{x}}}{\norm{\vphantom{|}\mathbf{x}}} \leq \kappa(A) \frac{\norm{\Delta \mathbf{b}}}{\norm{\mathbf{b}}} \]

$ $

위 정리에 의하면 주어진 정사각행렬 $A$의 조건수가 매우 크다면, $\mathbf{b}$의 작은 변화량 $\Delta \mathbf{b}$에도 이 방정식의 해 $\mathbf{x}$의 변화량 $\Delta \mathbf{x}$가 매우 커질 수 있다. 이와 같이 조건수가 큰 행렬을 불량조건 행렬(ill-conditioned matrix)라 한다. 참고로 역행렬이 존재하지 않는 행렬의 조건수는 $\infty$이다.

$ $

참고. 정사각행렬 $A$의 조건수 $\kappa(A)$는 언제나 $1$보다 크거나 같은 값을 가진다. \[ \kappa(A) = \Norm{A} \Norm{A^{-1}} \geq \Norm{AA^{-1}} = \Norm{I} \geq 1. \eqfin \]

$ $