Skip to main content

Section 7.1 대칭행렬과 스펙트랄 정리: \(S=Q\Lambda Q^\operatorname T\)

절 6.2에서 행렬의 대각화를 다루었다. 대각화는 모든 정사각행렬에 대해 시도해 볼 수 있지만, 여기서는 특별히 대칭행렬을 주목하고자 한다. 스펙트랄 정리란, 대칭행렬의 고유벡터가 만족하는 일련의 성질들을 말한다. 세 가지 기본 성질 명제 7.1.1, 명제 7.1.5, 명제 7.1.6, 그리고 이를 종합한 정리 7.1.7을 알아볼 예정이다. 또한 결론을 행렬 분해로 표현해 본다.

Subsection 7.1.1 실고윳값

증명.

예시 7.1.2. \(2 \times 2\) 대칭행렬의 고윳값.

\(2 \times 2\) 대칭행렬
\begin{equation*} S=\begin{bmatrix}5 &4 \\ 4 & 5\end{bmatrix} \end{equation*}
를 택하자. 특성다항식은 정의에 따라 계산하면
\begin{equation*} f(x)= x^2 -10 x + 9 \end{equation*}
이다. 특성방정식 \(f(x)=0\)은 두 실근 \(x=1,9\)를 갖는다.

예시 7.1.3. 대칭이 아닌 \(2 \times 2 \) 행렬의 고윳값.

정사각행렬이 대칭이 아닌 경우 반드시 허수 고윳값을 가지는 것은 아니다.
 1 
대우: 고윳값이 모두 실수라고 해서 반드시 대칭행렬인 것은 아니다.
가령,
\begin{equation*} \begin{bmatrix}1&1\\0&2\end{bmatrix} \end{equation*}
은 삼각행렬로 그 고윳값이 \(\lambda=1,2\)임을 안다. 즉, 모든 고윳값이 실수이다. 그러나 대칭행렬은 아니다.

예시 7.1.4. 계수가 실수인 것이 중요.

명제 7.1.1에 등장하는 대칭행렬에 대한 암묵적인 가정은 그 성분이 실수라는 것이다. 이 가정이 꼭 필요한지 알아보기 위하여 행렬의 성분으로 복소수를 잠시 허용하자. 행렬
\begin{equation*} \begin{bmatrix} i & 0 \\ 0 & 1 \end{bmatrix} \end{equation*}
은 당연히 대칭이라고 여길 수 있으나 그 고윳값은 \(\lambda=i,1\)이다.
비슷한 예로
\begin{equation*} \begin{bmatrix} 0 & i \\ i & 0 \end{bmatrix} \end{equation*}
의 경우 특성다항식은 \(x^2+1\)으로 두 근은 \(\pm i\)이다.

Subsection 7.1.2 대칭행렬의 대각화

증명.

대칭행렬의 크기가 \(n \times n\)일 때, \(n\)에 대하여 수학적 귀납법을 사용한다. \(n=1\)이면 모든 행렬이 대칭이고 대각화 가능하므로 명제가 성립한다.
크기 \(n\) 미만인 모든 대칭행렬이 대각화 가능하다고 가정하자. \(S\)\(n \times n\)대칭행렬이라고 하자. \(S\)가 대각화 가능한 것은 \(S-cI\)가 적당한 스칼라 \(c\)에 대하여 대각화 가능한 것과 동치이다. 따라서, 적당한 \(c\)를 골라 \(S':=S-cI\)를 대각화하면 충분하다. 명제 7.1.1에 의하여 \(S\)의 특성방정식은 실근만을 가지므로, 그 중 하나 \(\lambda\)를 골라 \(c=\lambda\)로 택하자. 이 선택에 따르면
\begin{equation*} \ker\left(S'\right)\not=0 \end{equation*}
이다. \(V = \ker\left(S'\right)\)로 놓으면
\begin{equation*} V, V^\perp \subset \mathbf R^n \end{equation*}
모두 차원이 \(n\)미만이다.
차원이 낮아졌으므로 귀납가정을 사용하려 한다. 약간의 준비가 필요하다. \(V\)의 차원을 \(n-k\text{,}\) \(V^\perp\)의 차원을 \(k\)라 하자. \(V\)의 정규직교기저 \(\boldsymbol v_1,\cdots,\boldsymbol v_{n-k}\)\(V^\perp\)의 정규직교기저 \(\boldsymbol w_1,\cdots,\boldsymbol w_k\)를 하나 찾자. \(V \perp V^\perp\)이므로
\begin{equation*} Q=\begin{bmatrix}\boldsymbol v_1 \amp \cdots \boldsymbol v_{n-1} \amp \boldsymbol w_1 \amp \cdots \amp \boldsymbol w_k\end{bmatrix} \end{equation*}
는 직교행렬이 된다. 대각화 시도로 대칭행렬
\begin{equation*} Q^{\operatorname T}S'Q \end{equation*}
를 계산해보자. \(V=\ker (S')\)이므로, 블록행렬로 쓰면
\begin{equation*} Q^{\operatorname T}S'Q =\begin{bmatrix}0 \amp * \\ * \amp *\end{bmatrix} \end{equation*}
임을 안다. 다음으로, \(S'\)가 대칭이므로 정리 4.1.15에 의하여 \(V^\perp=\operatorname C(S')\)임을 상기하자. 이로부터
\begin{equation*} \boldsymbol w \in V^\perp \Rightarrow S'\boldsymbol w \in V^\perp \end{equation*}
을 관찰하자. 이 관찰로부터
\begin{equation*} Q^{\operatorname T}S'Q =\begin{bmatrix}0 \amp 0 \\ 0 \amp *\end{bmatrix} \end{equation*}
임을 안다. 미지의 블록을 \(A\)라 하면
\begin{equation*} Q^{\operatorname T}S'Q =\begin{bmatrix}0 \amp 0 \\ 0 \amp A\end{bmatrix}, \end{equation*}
\(A\)\(k \times k\) 대칭행렬이다.귀납가정에 의하여 \(A\)은 대각화 가능하다. 즉, 적당한 \(k \times k\)가역행렬 \(Y\)에 대하여 \(YAY^{-1}=\Lambda\)이다. (단, \(\Lambda\)는 대각행렬.)
이제 \(A\)의 대각화로부터 \(S'\)의 대각화를 얻자. 블록행렬
\begin{equation*} Z=\begin{bmatrix}1 \amp 0 \\ 0 \amp Y\end{bmatrix} \end{equation*}
를 이용하고, \(Q^{\operatorname T}=Q^{-1}\)인 것을 이용하면
\begin{equation*} (QZ)^{-1}S'(QZ)= \begin{bmatrix}0 \amp 0 \\ 0 \amp \Lambda \end{bmatrix} \end{equation*}
이므로 \(S'\)이 대각화되었다.
\(S'\)의 대각화로부터 \(S\)의 대각화도 쉽게 얻는다. \(S'=S+\lambda I\)이므로
\begin{equation*} (QZ)^{-1}S(QZ)= \begin{bmatrix}\lambda I_{n-1} \amp 0 \\ 0 \amp \Lambda +\lambda I_{k}\end{bmatrix} \end{equation*}
이다. (단, \(I_m\)\(m\times m\)항등행렬을 나타낸다.)

Subsection 7.1.3 직교하는 고유벡터

증명.

대칭행렬 \(S\)의 고유벡터 \(\boldsymbol v_1\)\(\boldsymbol v_2\)의 고윳값을 각각 \(\lambda_1\)\(\lambda_2\)라 하고, \(\lambda_1\not = \lambda_2\)를 가정하자. 새로운 행렬 \(S'\)
\begin{equation*} S' := \frac{1}{\lambda_2-\lambda_1}\left(S - \lambda_1 I\right) \end{equation*}
로 정의하면 \(S'\)은 대칭행렬이다. 또한, \(\boldsymbol v_1 \)\(\boldsymbol v_2\)\(S'\)의 고유벡터로 그 고윳값이 각각 \(0\)\(1\)이다.
명제에서 원하는 것은 \(\boldsymbol v_1 \perp \boldsymbol v_2\)임을 상기하자. 정의에 의하면 \(\boldsymbol v_1 \in \operatorname{ker}\left(S'\right)\)이고 \(\boldsymbol v_2 \in \operatorname{ker}\left(S'-I\right)\)이므로 벡터공간 간 수직관계
\begin{equation} \operatorname{ker}\left(S'\right)\perp\operatorname{ker}\left(S'-I\right)\tag{7.1.1} \end{equation}
을 보이면 충분하다. 이를 보이기 위해 먼저 정리 4.1.15로부터 기본부분공간의 관계
\begin{equation} \operatorname{ker}\left(S'\right)^\perp = \operatorname{C}\left(\left(S'\right)^\operatorname{T}\right)\tag{7.1.2} \end{equation}
를 얻자. 한편, \(S'\)가 대칭이므로 당연히
\begin{equation*} \operatorname{C}\left(\left(S'\right)^{\operatorname{T}}\right)= \operatorname{C}\left(S'\right) \end{equation*}
이고, 이를 반영하면 (7.1.2)
\begin{equation*} \operatorname{ker}\left(S'\right)^\perp = \operatorname{C}\left(S'\right) \end{equation*}
이 된다. 원하는 (7.1.1)
\begin{equation*} \operatorname{ker}\left(S'-I\right) \subset \operatorname{C}\left(S'\right) \end{equation*}
를 보이면 충분한데, 이는
\begin{equation*} \boldsymbol v \in \operatorname{ker}\left(S'-I\right) \Rightarrow S'\boldsymbol v = \boldsymbol v \Rightarrow \boldsymbol v\in \operatorname{C}\left(S'\right) \end{equation*}
이므로 성립한다. 이것으로 명제가 증명된다.

Subsection 7.1.4 정규직교하는 고유벡터로 기저 만들기

증명.

\(n \times n\) 대칭행렬 \(S\)서로다른 고윳값을 \(\lambda_1,\cdots,\lambda_r\)이라 하자. 명제 7.1.5로부터 고유벡터로 기저를 구성하자. 기저 중 \(\lambda_1\)의 고유벡터를 \(\boldsymbol x_1,\cdots,\boldsymbol x_k\)라 하고, 나머지 고유벡터를 \(\boldsymbol x_{k+1},\cdots \boldsymbol x_n\)이라 하자.
벡터 \(\boldsymbol x_1,\cdots, \boldsymbol x_k\)에 그람–슈미트 과정을 적용하면 \(k\)개의 정규직교하는 벡터 \(\boldsymbol y_1,\cdots,\boldsymbol y_k\)를 얻는다. 또한 각 \(\boldsymbol y_i\)\(\boldsymbol x_1,\cdots,\boldsymbol x_k\)의 선형결합이므로 고윳값이 \(\lambda_1\)인 고유벡터가 된다. \(n\)개의 벡터 \(\boldsymbol y_1,\cdots,\boldsymbol y_k,\boldsymbol x_{k+1},\cdots,\boldsymbol x_n\)는 여전히 \(S\)의 고유벡터로 \(\mathbf R^n\)의 기저이다.
\(\boldsymbol y_i\)들은 서로 정규직교한다. 또, 명제 7.1.6에 의하여 \(1 \le i \le k\text{,}\) \(k+1 \le j \le n\)에 대하여 \(\boldsymbol y_i \perp \boldsymbol x_j\)이다. 앞에서와 비슷하게 \(\boldsymbol x_{k+1},\cdots,\boldsymbol x_n\)\(\lambda_2\)의 고유벡터를 가져와 그람–슈미트 과정을 통해 정규직교하는 고유벡터로 바꾸어주는 과정을 수행하고, 이를 \(\lambda_2,\cdots,\lambda_r\)에 대해 반복해 얻은 기저를 \(\boldsymbol y_1,\cdots,\boldsymbol y_n\)이라 하자. 명제 7.1.6에 따른 직교성을 이용하면 이 기저가 정규직교하는 고유벡터로 구성됨을 안다.

Subsection 7.1.5 대칭행렬의 분해

정리 7.1.7를 행렬 분해로 표현해보자. \(S\)의 고유벡터로 구성된 정규직교기저를 열벡터로 갖는 행렬을 \(Q\)라고 하면
\begin{equation*} SQ=Q\Lambda \end{equation*}
가 성립하는데 이때 \(Q^{-1}=Q^{\operatorname{T}}\)이므로 \(Q\)를 우변으로 이항하면
\begin{equation*} S=Q\Lambda Q^\operatorname T \end{equation*}
를 얻는다.

연습문제 7.1.6 연습문제: 복소수를 성분으로 갖는 행렬 및 벡터에 대한 소개 및 명제 7.1.1의 증명

이 연습문제에서는 복소수를 성분으로 갖는 행렬 및 벡터를 다룬다. 복소수의 집합은 \(\mathbf C\)로 나타낸다. 복소수는 실수와 구별하기 위해 문자 \(z\) 또는 \(w\)를 사용해 나타낸다. \(\mathbf C^n\)은 복소수로 구성된 순서쌍 \((z_1,\cdots,z_n)\)의 집합을 의미한다.

1.

복소수 \(z=x+yi\)켤례는 허수부의 부호를 반대로 한 복소수 \(x-yi\)로 정의한다. 기호로는 \(\bar z\)로 나타낸다. 즉, \(z=x+yi\)이면 \(\bar z=x-yi\)로 정의한다. 복소행렬의 내적은 다음과 같이 정의한다.
\begin{equation*} (z_1,\cdots,z_n)\bullet (w_1,\cdots,w_n)= \bar z_1 w_1+\cdots + \bar z_n w_n. \end{equation*}
복소행렬 및 그 내적 정의를 이용하여 다음을 계산하시오.
  1. \(\displaystyle (i,2)\bullet (2,1)\)
  2. \(\displaystyle (2,1)\bullet (i,2)\)
  3. \(\displaystyle (1,2)\bullet (3,4)\)

2.

다음 항등식을 증명하시오.
  1. \(\boldsymbol z\bullet (\boldsymbol w_1+\boldsymbol w_2)= \boldsymbol z \bullet \boldsymbol w_1 + \boldsymbol z \bullet \boldsymbol w_2\) (단, \(\boldsymbol z, \boldsymbol w_1, \boldsymbol w_2 \in \mathbf C^n\))
  1. \((\boldsymbol z_1+\boldsymbol z_1)\bullet \boldsymbol w = \boldsymbol z_1 \bullet \boldsymbol w + \boldsymbol z_2 \bullet \boldsymbol w\) (단, \(\boldsymbol z_1, \boldsymbol z_2, \boldsymbol w \in \mathbf C^n\))
  1. \((c \boldsymbol z) \bullet \boldsymbol w=\bar c(\boldsymbol z \bullet \boldsymbol w)\) (단, \(c\in\mathbf C\)이고 \(\boldsymbol z,\boldsymbol w \in \mathbf C^n \))
  1. \(\boldsymbol z \bullet (c\boldsymbol w)= c(\boldsymbol z \bullet \boldsymbol w)\) (단, \(c\in\mathbf C\)이고 \(\boldsymbol z,\boldsymbol w \in \mathbf C^n \))

3.

복소행렬에 해당하는 전치의 개념은 기호 \(\operatorname H\)를 이용해 나타낸다.
정의 7.1.8. 복소행렬의 켤례전치.
\((z_1,\cdots,z_n) \in \mathbf C^n\)에 대하여 \((z_1,\cdots,z_n)^{\operatorname{H}}\)
\begin{equation*} (z_1,\cdots,z_n)^{\operatorname{H}}:=[\bar z_1,\cdots,\bar z_n] \end{equation*}
으로 정의한다. \(\boldsymbol z^{\operatorname{H}}\)은 원래 벡터 \(\boldsymbol z\)의 “켤례전치”라고도 한다.
켤례전치와 복소벡터의 내적은
\begin{equation*} \boldsymbol z \bullet \boldsymbol w = \boldsymbol z^{\operatorname{H}}\boldsymbol w \end{equation*}
으로 나태낼 수 있음을 증명하시오.

4.

복소벡터 의 켤례전치를 정의하였다. 이를 확장해 복소행렬의 켤례전치도 정의할 수 있다.
정의 7.1.9. 복소행렬의 켤례전치.
복소행렬 \(A\)켤례전치\(A^\operatorname{H}\)로 나타내며 \(A=\begin{bmatrix}\boldsymbol z_1 \amp \cdots \amp \boldsymbol z_n \end{bmatrix}\)일 때 \(A^\operatorname H= \begin{bmatrix}\boldsymbol z_1^{\operatorname{H}}\\\boldsymbol z_2^{\operatorname{H}}\\\vdots\\\boldsymbol z_n^{\operatorname{H}}\end{bmatrix}\)으로 정의한다.
복소수의 경우 켤례를 취하는 것과 연산을 수행하는 것은 그 순서에 상관없이 같은 결과를 낳는다. 즉, 덧셈 연산에 대해
\begin{equation*} \overline{z+w}=\bar z + \bar w \end{equation*}
가 성립하고, 곱셈 연산에 대해
\begin{equation*} \overline{zw}=\bar z \bar w \end{equation*}
가 성립한다.
이를 이용하여 행렬 연산에 대하여
\begin{equation*} \left(A+B\right)^{\operatorname{H}}=A^{\operatorname{H}}+B^{\operatorname{H}} \end{equation*}
\begin{equation*} \left(AB\right)^{\operatorname{H}}=B^{\operatorname{H}}A^{\operatorname{H}} \end{equation*}
이 성립함을 증명하여라.

5.

정사각행렬 \(A\)에 대하여
\begin{equation*} \overline {\operatorname{det}\left(A\right)} = \operatorname{det}\left(A^{\operatorname{H}}\right) \end{equation*}
이 성립함을 보여라.
단서.
Subsection 5.1.3명제 5.2.2를 이용하자.

6.

\(n \times n \) 행렬 \(A\)에 대하여 다음 조건들은 동치임을 보여라.
 2 
스칼라를 실수로 한정하면 이미 알고 있는 사실이다.
  1. 영벡터가 아닌 \(\boldsymbol z \in \mathbf C^n\)에 대하여 \(A\boldsymbol z = 0\)이 성립한다.
  2. \(\displaystyle \operatorname{det}(A)=0\)

7.

행렬\(A\)와 복소수 \(\lambda\)에 대하여 두 조건은 동치임을 보여라.
 3 
역시 스칼라가 실수인 경우 이미 알고 있는 사실이다.
  1. 영벡터가 아닌 \(\boldsymbol z \in \mathbf C^n\)에 대하여 \(A\boldsymbol z = \lambda \boldsymbol z\)이 성립한다.
  2. \(\displaystyle \operatorname{det}(A-\lambda I)=0\)
한편,
\begin{equation*} \left(A-\lambda I\right)^{\operatorname{H}}=A^{\operatorname{H}}-\bar{\lambda} I \end{equation*}
임을 보여라. 종합하여, \(A\)가 실수를 성분으로 갖는 대칭행렬인 경우 그 고윳값은 반드시 실수임을 보여라.