벡터 $\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} \] 노름을 주어진 벡터의 크기를 일반화한 개념으로써 아래와 같이 정의되는 함수이다.
$ $
$ $
참고. 위 노름의 정의에서 (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$-노름)
$ $
벡터의 노름과 같이 행렬의 노름은 주어진 행렬의 크기를 알려주는 함수이다.
$ $
$ $
참고. 단위행렬 $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}$을 구할 수도 있다.$ $
$ $
선형연립방정식 $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}} \] 를 이용하면 다음 정리를 얻는다.
$ $
$ $
위 정리에 의하면 주어진 정사각행렬 $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 \]
$ $