본문 바로가기

선형대수

Symmetric matrices and positive definiteness

1. Symmetric matrix, Diagonalization of symmetric matrix

■ \( n \times n \) 정방행렬의 전치가 자기 자신일 때. 즉, 정방행렬의 원소가 \( a_{ij} = a_{ji} \)을 만족하는 경우 대칭행렬이라고 한다. 

■ 그리고 대칭행렬은 고윳값이 전부 실수(real number)이며, 서로 다른 고유공간에 있는 고유벡터는 서로 직교한다. 고유벡터들이 서로 직교한다는 것은 고유벡터들이 서로 다른 1차원의 고유공간을 형성한다고 할 수 있다. 

- 서로 다른 고윳값 \( \lambda_1, \lambda_2 \)에 대응하는 고유벡터 \( v_1, v_2 \)가 있다고 했을 때, \( Av_1 = \lambda_1 v_1, \; A v_2 = \lambda_2 v_2 \)

- \( \lambda_1 v_1 \cdot v_2 = \left( \lambda_1 v_1 \right)^T v_2 = \left( Av_1 \right)^T v_2 = \left( v^T_1 A^T \right)v_2 = v^T_1 \left( A v_2 \right) = v^T_1 \left( \lambda_2 v_2 \right) = \lambda_2 v^T_1 v_2 = \lambda_2 v_1 \cdot v_2 \)이므로

- \( \lambda_1 v_1 \cdot v_2 = \lambda_2 v_1 \cdot v_2 \rightarrow \left( \lambda_1 - \lambda_2 \right) v_1 \cdot v_2 = 0 \)이 성립한다.

- \( \lambda_1 \neq \lambda_2 \)이므로 \( \lambda_1 - \lambda_2 \neq 0 \)이다. 그러므로 \( v_1 \cdot v_2 = 0 \)이 되야한다.

- 이렇게 행렬이 서로 다른 고윳값을 가지면, 각 고윳값에 대응되는 고유벡터들의 내적은 0이므로 

- 서로 다른 고유공간에 있는 고유벡터는 서로 직교한다. 

■ 고유벡터행렬 \( S \)는 행렬 \( A \)의 고유벡터들이 열벡터로 이루어진 행렬로, 행렬 \( S \)를 이용하여 행렬 \( A \)를 고유벡터행렬과 고윳값을 대각 원소로 가지는 대각 행렬로 분해할 수 있다. (= 대각화) 

■ 행렬 \( A \)를 대각화하여 분해하면, \( A = S \Lambda S^{-1} \)이 되며, \( A \)가 대칭행렬이라면 행렬 \( S \)의 열벡터들은 행렬 \( A \)의 서로 수직인 \( n \)개의 고유벡터들이다.

■ 직교기저를 정규화하면 정규직교기저를 만들 수 있다. 그러므로 서로 직교하는 고유벡터들을 정규화하여 크기를 1로 만들 수 있다.(=단위벡터화를 할 수 있다.)

■ 그러므로 대칭행렬의 서로 직교하는 고유벡터들을 정규화하면, 대칭행렬의 고유벡터행렬 \( S \)는 정규직교(고유)벡터로 이루어진 정규직교행렬이 된다. 이 정규직교행렬을 \( Q \)라고 했을 때, \( Q^{-1} = Q^T \)가 성립한다.

■ 만약, \( A = Q \Lambda Q^{-1} = Q \Lambda Q^T \)으로 성립하면 행렬 \( A \)를 직교 대각화 가능 행렬이라고 부른다. 

■ 그리고 어떤 행렬 \( A \)를 \( A = Q \Lambda Q^T \)로 분해할 수 있다면, 행렬 \( A \)를 대칭행렬이라고 할 수 있다. 

■ \( A = Q \Lambda Q^T \)가 대칭행렬인지 확인하는 방법은 대칭행렬의 성질 \( A^T = A \)를 만족하는지 확인하면 된다. 

-  \( A^T = \left( Q \Lambda Q^T \right)^T = Q^{TT} \Lambda^T Q^T = Q \Lambda Q^T = A \) 

- \( A^{TT} = A \)이므로 \( Q^{TT} = Q \), \( \Lambda \)는 대각행렬이기 때문에 전치해도 대각행렬

■ 대칭행렬의 고윳값을 계산했을 때, 고윳값이 중근이 나오지 않는다면(중복되지 않는다면), 각 고윳값에 대응되는 고유공간이 서로 다르다는 것은 쉽게 알 수 있다. 

■ 단, 대칭행렬의 특수한 형태로 단위행렬이 있다. 예를 들어 \( 2 \times 2 \) 단위행렬이라면, 이 단위행렬의 고윳값은 \( \lambda = 1, 1 \)로 중근을 갖는다. 이 경우에는 대칭행렬의 고유벡터들은 서로 수직이다라는 표현보다. 서로 직교하는 고유벡터들을 선택할 수 있다.라는 표현이 적합하다.

- 이 경우에 \( \lambda_1 \)에 대응하는 고유벡터를 찾기 위해 \( \left( A - 1 \cdot I \right) \mathbf{x} = 0 \). 즉, 행렬 \( (A - 1 I) \)의 영공간을 구해야 한다.  

- \( \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} \)이 되므로 어떠한 벡터라도 고유벡터가 될 수 있다. 

- 그러므로 이 경우 고유벡터를 \( \mathbf{x}_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \; \mathbf{x}_2 = \begin{bmatrix} 0 \\ 1 \end{bmatrix} \)로 선택해야 각 \( \lambda_1 = 1, \lambda_2 = 1 \)에 대응하는 서로 다르고 수직하는 고유벡터가 된다.

 

2. 스펙트럼 정리(Spectral Theorem)

■ \( A = Q \Lambda Q^{T} \)로 대각화하여 분해하는 과정은 스펙트럼 정리에 기반하여 이루어진 것이다. 스펙트럼 정리를 역학에서는 주축정리(principle axis theorem)라고 부른다.

■ 먼저 Hermitian(에르미트) 행렬과 Unitary(유니타리) 행렬에 대해 알아야 한다.

■ 에르메트 행렬은 복소수를 원소로 가지고 있는 정방행렬로, 자기 자신과 켤레전치(conjugate transpose)행렬이 같은 행렬을 말하며, \( a_{ij}=\overline{a_{ji}} \quad \text{or} \quad A=\overline{A}^T \) 조건을 만족하는 행렬이다. 

- 켤레전치행렬은 행렬은 전치한 후에 원소별 켤레 복소수를 취하는 행렬을 말한다.

■ 예를 들어 \( \begin{bmatrix} -5 & 1+i \\ 1-i & 3 \end{bmatrix} \)는 에르미트 행렬이다.   

- 켤레 복소수를 취하는 과정에서 -5와 3은 실수이므로 그대로 유지

- \( 1 - i \)의 켤레는 \( 1 + i \)이므로 \( 1 + i \)의 켤레는 \( 1 - i \)

즉, 어떤 행렬 \( A \)에 켤레전치를 가한 켤레전치행렬 \( A^H \)가 자기 자신인 \( A \)와 같은 행렬, \( A^H = A \)인 행렬 \( A \)를 에르미트 행렬이라고 한다.

- 켤레전치행렬 \( A^H \)는 \( A^* \)로 표현하기도 한다.

■ 에르미트 행렬의 특징은 주대각성분이 실수이며, 고윳값도 실수이다. 그리고 서로 다른 고윳값을 갖는 에르미트 행렬의 고유벡터는 서로 수직이다. 

■ 유니타리 행렬(unitary matrix)은 켤레전치행렬이 역행렬과 같은 복소수 행렬이다. \( U^{-1} = U^H, \; U^HU = UU^H = I \). \( U \)의 각 열벡터는 서로 직교하며, \( U \)의 열벡터들은 \( A \)의 고유벡터들이다. 즉, 각 고유값에 대응되는 고유공간들은 서로 직교한다.

- 유니타리 행렬 \( U^{-1} = U^H, \; U^HU = UU^H = I \)을 보면, 행렬 \( U \)가 복소수 행렬이 아니라 실수 행렬이라면 직교 행렬과 동치인 것을 알 수 있다.

■ 스펙트럼 정리는 \( n \times n \)크기의 에르미트 행렬을 실수로 이루어진 고윳값 대각행렬 \( \Lambda \)와 유니타리 행렬 \( U \)로 대각화 과정을 통해 \( A = U \Lambda U^H \)로 분해할 수 있다.

\( A = U \Lambda U^H \)에서 \( U \)는 \( A \)의 고유벡터들로 이루어진 행렬이며 \( \Lambda \)는 \( A \)의 고윳값으로 이루어진 행렬이다. 스펙트럼 정리는 이렇게 행렬 \( A \)를 고유벡터와 고윳값으로 분해하여 표현할 수 있다. 그리고 이렇게 분해한 것을 스펙트럼 분해(spectral decomposition)라고 표현하기도 한다. 

■ 스펙트럼 정리는 실수대칭행렬의 대각화와 유사한 것을 볼 수 있다. 스펙트럼 정리가 더 일반적이고 광범위한 적용이 가능합니다. 즉, 대칭행렬이 실수대칭행렬으로서 직교 대각화 가능하다면 스펙트럼 분해를 다음과 같이 적용할 수 있다.

\( A = Q \Lambda Q^T = [q_1 \quad \cdots \quad q_n] \begin{bmatrix} \lambda_1 & & 0 \\ & \ddots & \\ 0 & & \lambda_n \end{bmatrix} \begin{bmatrix} q_1^T \\ \vdots \\ q^T \end{bmatrix} = [\lambda_1 q_1 \quad \cdots \quad \lambda_n q_n] \begin{bmatrix} q_1^T \\ \vdots \\ q_n^T \end{bmatrix} \) 

\( A = \lambda_1 q_1 q_1^T + \lambda_2 q_2 q_2^T + \cdots + \lambda_n q_n q_n^T \)

 

3. 대칭행렬이 실수인 고윳값을 가지는 이유

■ \( A \mathbf{x} = \lambda \mathbf{x} \)에서 \( \lambda \)는 복소수일 수 없다.라는 것을 증명하면 된다.

- 단, \( \mathbf{x} \)는 복소수일 수 있다. \( A \)도 복소수일 수 있다.

\( A \mathbf{x} = \lambda \mathbf{x} \)의 양변에 복소켤레를 취하면 \( \overline{A} \, \overline{\mathbf{x}} = \overline{\lambda} \, \overline{\mathbf{x}} \)이 된다.

- 이 과정은 단지 복소켤레를 취하는 과정이므로 여전히 식은 성립한다.

- 그리고, 행렬 \( A \)에 대한 고윳값이 복소수 형태라면 \( \lambda = a + bi \)와 켤레값인 \( \overline{\lambda} = a - bi \)가 쌍으로 존재한다. 이는 고유벡터에도 적용되어 \( \mathbf{x} \)와 \( \overline{\mathbf{x}} \)를 가진다.

■ 그다음,  \( \overline{A} \, \overline{\mathbf{x}} = \overline{\lambda} \, \overline{\mathbf{x}} \)의 양변에 전치를 가한다. \( \overline{\mathbf{x}}^T \overline{A}^T = \overline{\mathbf{x}}^T \overline{\lambda} \)가 된다.

■ 여기서 행렬 \( A \)가 실수로 이루어진 대칭행렬이라고 가정하면 켤레와 전치의 의미가 없어진다. 실수로 이루어져 있다면, 켤레를 가해도 그대로 실수가 유지되고, 대칭행렬이라면 \( A^T = A \)가 되기 때문에 전치의 의미가 없어진다. 그러므로 \( \overline{\mathbf{x}}^T A = \overline{\mathbf{x}}^T \overline{\lambda} \)로 나타낼 수 있다.

■ 다음 단계는 고윳값이 실수임을 증명하는 단계이다.

\( A \mathbf{x} = \lambda \mathbf{x} \)의 양변 좌측에 \( \overline{\mathbf{x}} \)를 곱해주면 \( \overline{\mathbf{x}}^T A\mathbf{x}=\lambda\overline{\mathbf{x}}^T \mathbf{x} \)가 된다.

■ 그리고 위에서 행렬 \( A \)를 대칭행렬이라고 가정했을 때 얻은 \( \overline{\mathbf{x}}^T A = \overline{\mathbf{x}}^T \overline{\lambda} \)의 양변 우측에 \( \mathbf{x} \)를 곱해주면 \( \overline{\mathbf{x}}^T A\mathbf{x}=\overline{\mathbf{x}}^T \overline{\lambda} \mathbf{x} \)가 된다.

\( \overline{\mathbf{x}}^T A\mathbf{x}=\lambda\overline{\mathbf{x}}^T \mathbf{x} \)와 \( \overline{\mathbf{x}}^T A\mathbf{x}=\overline{\mathbf{x}}^T \overline{\lambda} \mathbf{x} \)으로부터 \( \lambda\overline{\mathbf{x}}^T \mathbf{x}=\overline{\lambda} \, \overline{\mathbf{x}}^T \mathbf{x} \)라는 식을 얻을 수 있다. 이 식에서 양변을 \( \overline{\mathbf{x}}^T\mathbf{x} \)으로 나누면 \( \lambda = \overline{\lambda} \)가 된다.

■ 복소수인 고윳값과 그의 켤레가 \( \lambda = a + bi, \; \overline{\lambda} = a - bi \)인 상황에서 \( \lambda = \overline{\lambda} \)라는 것은 허수부 \( b \)의 값이 0이라는 의미이다. 

■ 즉, \( \lambda = a + 0i = a, \; \overline{\lambda} = a - 0i = a \)로 실수부 \( a \)만 남기 때문에 실수대칭행렬의 고윳값은 항상 실수(real number)라고 할 수 있다.

■ 위의 과정은 실수로 이루어진 대칭행렬을 가정했을 때 나온 결과이다.

만약, 대칭행렬이 허수가 원소로 포함된 행렬이라면, 허수가 포함된 대칭행렬 \( A \)가 \( A \)의 켤레전치행렬과 같아야( \( \Leftrightarrow A^H = A \)) 실수인 고윳값을 가지고 고유벡터들이 서로 직교한다.

\(  A^H = A \)인 행렬을 에르미트 행렬이라고 한다. 즉, 에르미트 행렬은 실수인 고윳값을 가지고 고유벡터들이 서로 직교한다.

 

4. projection matrices in symmetric matrix

■ 2.에서 정리한 실수대칭행렬의 스펙트럼 분해를 다시 나타내면 다음과 같다.

\( A = Q \Lambda Q^T = \begin{bmatrix} | & | & & | \\ \boldsymbol{q}_1 & \boldsymbol{q}_2 & \cdots & \boldsymbol{q}_n \\ | & | & & | \end{bmatrix} \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \ddots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix} \begin{bmatrix} - & \boldsymbol{q}_1^T & - \\ - & \boldsymbol{q}_2^T & - \\ & \vdots & \\ - & \boldsymbol{q}_n^T & - \end{bmatrix} = \lambda_1 \boldsymbol{q}_1 \boldsymbol{q}_1^T + \lambda_1 \boldsymbol{q}_1 \boldsymbol{q}_1^T + \cdots + \lambda_n \boldsymbol{q}_n \boldsymbol{q}_n^T \)

모든 대칭 행렬은 이렇게 고유벡터행렬과 고윳값을 대각 원소로하는 대각행렬로 분해된다.

■ 여기서 \( \boldsymbol{q}_1 \boldsymbol{q}_1^T \)같은 형태는 열벡터와 행벡터 순으로 벡터를 곱한 것이므로 행렬이 된다. 이때 \( n \times 1 \)과 \( 1 \times n \)을 곱하였으므로, 열벡터와 행벡터를 곱해서 얻은 행렬은 \( \text{rank} = 1 \)인 \( n \times n \) 정방행렬이 된다. 그러므로 위의 정리를 다음과 같이 나타낼 수 있다.

\(  = \lambda_1 \begin{bmatrix} | \\ \boldsymbol{q}_1 \\ | \end{bmatrix} [- \boldsymbol{q}_1^T -] + \lambda_2 \begin{bmatrix} | \\ \boldsymbol{q}_2 \\ | \end{bmatrix} [- \boldsymbol{q}_2^T -] + \cdots + \lambda_n \begin{bmatrix} | \\ \boldsymbol{q}_n \\ | \end{bmatrix} [- \boldsymbol{q}_n^T -] \)

\( = \lambda_1 \begin{bmatrix}
\cdot & \cdot & \cdot \\
\cdot & q_1 & \cdot \\
\cdot & \cdot & \cdot
\end{bmatrix} + \lambda_2 \begin{bmatrix}
\cdot & \cdot & \cdot \\
\cdot & q_2 & \cdot \\
\cdot & \cdot & \cdot
\end{bmatrix} + \cdots + \lambda_n \begin{bmatrix}
\cdot & \cdot & \cdot \\
\cdot & q_n & \cdot \\
\cdot & \cdot & \cdot
\end{bmatrix} \)

■ 그리고 \( \boldsymbol{q}_1 \boldsymbol{q}_1^T \)는 투영행렬이라는 것을 알 수 있다.  \( \boldsymbol{q}_1 \boldsymbol{q}_1^T \)은 \( \text{rank} = 1 \)이며, 전치를 가하면 자기 자신이 나오므로 대칭이며 자기 자신의 제곱이 자기 자신이므로 투영행렬이다.

■ 그리고 이때의 고유벡터행렬을 구성하는 행렬 \( A \)의 고유벡터들은 서로 수직이므로 

■ \( n \times n \)크기의 대칭행렬 \( A \)의 스펙트럼 분해는 \( n \)개의 고윳값과 \( n \)개의 서로 수직인 투영행렬의 조합으로 나타낼 수 있다.

 

5. Symmetric matrices and positive definiteness

■ \( n \times n \) 대칭행렬이 있을 때, 고윳값은 실수이다. 이때, 고윳값이 양의 실수인지 음의 실수인지 관심을 가질 수 있다. 미분 방정식에서 고윳값이 양의 실수인지 음의 실수인지에 따라 안정성과 불안정성을 결정하기 때문이다.

■ 대칭행렬의 피벗(pivot)의 부호(sign) 대칭행렬의 고윳값의 부호는 어떤 관계를 갖고 있다. 그 관계는 대칭행렬의 양수 피벗의 수는 양수 고윳값의 수와 같으며, 음수 피벗의 수는 음수 고윳값의 수와 같다는 것이다. 즉, 대칭행렬에서 피벗과 고윳값은 같은 부호를 갖는 원소의 개수가 같다.

- 예를 들어 \( 50 \times 50 \) 대칭행렬에서 30개의 피벗이 양수이고, 20개의 피벗이 음수라면, 양수인 고윳값의 개수는 30개이고 음수인 고윳값의 개수는 20개이다.

■ 양의 정부호 행렬 또는 양정치 행렬(positive definite matrix)는 대칭행렬 중 모든 고윳값이 양수 \( \Leftrightarrow \) 모든 pivot이 양수 \( \Leftrightarrow \) 주 부분행렬의 행렬식 값이 모두 양수인 행렬이다. 

- 행렬의 행렬식은 pivot의 곱과 같다. 그러므로 행렬의 모든 피벗이 양수이면 행렬식도 양수가 된다. 주부분행렬의 행렬식도 마찬가지이다. 주부분행렬이란 전체 행렬을 \( 1 \times 1 \), \( 2 \times 2 \), \( \cdots, n \times n \)으로 \( r = 1, 2, 3, \cdot, n \)에 대해서 처음 \( r \)행과 \( r \)열로서 구성한 부분행렬을 말한다.

■ 예를 들어 \( \begin{bmatrix} 5 &2 \\ 2 & 3 \end{bmatrix} \)에서 첫 번째 pivot은 5이다. 그리고 두 번째 pivot은 피벗의 곱은 행렬식 값과 동일하다는 점을 용하면, 행렬식 값은 11이므로 두 번째 pivot은 \( \frac{11}{5} \)임을 알 수 있다.

■ 이 행렬의 고유방정식은 \( \lambda^2 - 8 \lambda + 11 \)이므로 \( \lambda = 4 \pm \sqrt{5} \)으로 이 대칭행렬의 고윳값은 모두 양수이다.

- 미분방정식 문제였다면, 대칭행렬의 고윳값 부호를 알기 때문에 안정성 여부를 알 수 있다.

■ 주부분행렬의 행렬식 값을 보면, 먼저 \( 1 \times 1 \)의 행렬식 값은 5이므로 양수이다. 그리고 \( 2 \times 2 \)의 행렬식 값은 11이므로 양수이다.

이 예에서는 대칭행렬의 pivot 2개가 양수이고 고윳값 2개도 모두 양수 그리고 주부분행렬의 행렬식 값도 모두 양수인 것을 확인할 수 있다.

'선형대수' 카테고리의 다른 글

Similar matrices and Jordan form  (0) 2025.03.07
Positive definite matrices and minima  (0) 2025.03.05
Markov matrices  (0) 2025.02.27
[개념] 회전변환, 직교 대각화를 이용한 회전변환  (0) 2025.02.27
Differential equations  (0) 2025.02.26