2020년 9월 5일 토요일

블록 행렬(Block Matrix)

[경고] 아래 글을 읽지 않고 "블록 행렬"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 행렬 원소의 정의(출처: wikipedia.org)

행렬(matrix)의 원소는 [그림 1]처럼 스칼라(scalar)로 정의함이 원칙이다. 하지만 행렬의 원소가 매우 많은 경우는 행렬 원소의 배치에 따라 구획(block)을 나누어서 부분 행렬(submatrix)로 정의하면 편리하다. 행렬의 원소를 구획으로 구분해 부분 행렬로 만든 후, 부분 행렬의 배치로 전체 행렬을 구성하는 행렬을 블록 행렬(block matrix)이라 한다. 블록 행렬의 원소는 행렬, 벡터(vector), 스칼라 등이 될 수 있다. 예를 들어, 행렬 $\bf M$을 2행 2열로 구획한 블록 행렬로 표현할 수 있다.

                  (1)

여기서 ${\bf A}, {\bf B},{\bf C},{\bf D}$는 $\bf M$의 부분 행렬이다. 혹은 $m \times n$ 형태로 구획한 블록 행렬도 다음처럼 정의할 수 있다.

                  (2)

여기서 ${\bf M}_{ij}$는 $\bf M$의 부분 행렬이다. 블록 행렬의 연산은 일반 행렬의 연산과 거의 유사하다. 다만 블록 행렬의 원소는 일반적으로 행렬이기 때문에, 각 원소를 계산할 때 교환 법칙을 쓰면 안 된다. 예를 들면, 가우스–요르단 소거법(Gauss–Jordan elimination)을 이용해 식 (1)의 역행렬을 블록 행렬 형태로 유도할 수 있다.

             (3)

따라서 식 (1)의 역행렬을 다음처럼 공식화할 수 있다.

             (4)

부분 행렬이 대각선 위치에만 있으면 블록 대각 행렬(block diagonal matrix)이라 한다.

                  (5)

역행렬 정의 ${\bf A A}^{-1}$ = $\bf I$를 이용하면 블록 대각 행렬의 역행렬은 다음과 같다.

                  (6)

블록 대각 행렬의 행렬식은 각 부분 행렬에 대한 행렬식의 곱이다.

                  (7)

식 (7)은 라플라스 전개(Laplace expansion)를 이용해 쉽게 증명할 수 있다. 블록 대각 행렬의 대각합(trace)도 각 부분 행렬에 대한 대각합의 합으로 표현할 수 있다. 

                  (8)

부분 행렬을 삼각 행렬 형태로 배치하면 블록 삼각 행렬(block triangular matrix)이 된다. 블록 삼각 행렬은 블록 상삼각 행렬(block upper triangular matrix)블록 하삼각 행렬(block lower triangular matrix)로 나눈다.

                  (9)

                  (10)

행렬 $\bf A$가 순열 행렬(permutation matrix) $\bf P$에 의해 다음처럼 블록 상삼각 행렬이 된다면, $\bf A$를 가약 행렬(可約行列, reducible matrix)이라 부른다.

                  (11)

여기서 ${\bf B},{\bf C},{\bf D}$는 $\widetilde{\bf A}$의 부분 행렬, ${\bf B}$와 ${\bf D}$는 정방 행렬(square matrix)이다. 행렬 $\bf A$의 양쪽에 순열 행렬을 곱하면, 순열(permutation)에 따라 행과 열이 동시에 바꾸어진다. 이로 인해 행이 바뀌면 열도 같은 규칙으로 바뀌어서 $\widetilde{a}_{ij}$ = $a_{\sigma_i \sigma_j}$가 성립한다. 여기서 $\sigma$는 $\bf P$를 구성하는 순열이다. 가약 행렬이 될 수 없으면 기약 행렬(旣約行列, irreducible matrix)이라 한다. 기약 행렬 개념은 프로베니우스Ferdinand Georg Frobenius(1849–1917)가 1912년프로베니우스 63세, 일제 식민지 시절에 제안했다. 가약 행렬의 개념을 이해하기 위해 변형된 연립 방정식 $\widetilde{\bf A}{\bf x}$ = $\bf k$를 부분 행렬 관점으로 써보자[1].

                  (11)

여기서 $\bf x$ = $[{\bf x}_1~{\bf x}_2]^T$, $\bf k$ = $[{\bf k}_1~{\bf k}_2]^T$이다. 가약 행렬의 조건에 의해 ${\bf B}$와 ${\bf D}$는 정방 행렬이므로, 식 (11)의 오른쪽 식은 잘 정의된다. 행렬 $\bf A$가 축약 가능[혹은 가약]이면, 처음에는 연립된 ${\bf x}_1$과 ${\bf x}_2$를 순열 행렬로 분리해서 더 풀기 쉬운 두 개의 행렬 방정식으로 간략화할 수 있다. 연립 방정식을 축약 혹은 간략화하지 못해서 ${\bf x}_1$과 ${\bf x}_2$를 있는 그대로 풀어야 한다면, ${\bf A}$는 기약이라 한다. 식 (11)을 보면 가약 행렬의 의미를 충분히 이해할 수 있다. 하지만 왜 굳이 프로베니우스는 큰 특징이 보이지 않는 기약 행렬을 정의했을까? 프로베니우스가 제안한 기약 행렬은 역행렬의 존재성을 판정하는 좋은 기준이다. 물론 행렬식을 계산하면 역행렬이 있을지 판정할 수 있지만 노력이 너무 많이 들어간다. 그래서 행렬이 대각 우세(diagonal dominance)인지 혹은 기약인지를 관찰해서 역행렬의 존재성을 판단한다.

[참고문헌]
[1] R. S. Varga, Matrix Iterative Analysis, 2nd ed., Berlin: Springer-Verlag, 1991.

2020년 8월 30일 일요일

행렬의 반복법(Iterative Method of Matrix)

[경고] 아래 글을 읽지 않고 "행렬의 반복법"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 고유 벡터를 구하기 위한 반복법(출처: wikipedia.org)

행렬(matrix) 이론은 잘 개발되어 있기 때문에 원하는 답을 언제나 정확하게 얻을 수 있다. 하지만 행렬의 차원이 커지면 계산 시간이 매우 빠르게 증가해서, 행렬 알고리즘(matrix algorithm or algorism)은 있으나 없는 것과 마찬가지인 상황이 빈번하게 생긴다. 그래서 매우 큰 행렬을 연산할 때는 정확함보다는 주어진 시간에 근사해를 얻는 방법이 필요하다. 행렬은 현실 문제를 푸는 합리적인 방법론이라서, 큰 차원의 행렬을 연산하기 위한 효율적인 반복법(iterative method)이 잘 발달되어 있다.
반복법으로 역행렬(inverse matrix)을 간단히 계산할 수 있. 원칙적으로 역행렬은 가우스–요르단 소거법(Gauss–Jordan elimination)으로 정확히 계산하지만, 행렬의 차원이 커지면 어마어마한 계산 시간으로 인해 반복법을 쓸 수밖에 없다. 역행렬의 반복법을 위해 행렬 $\bf T$에 대한 부분 합 ${\bf S}_m$을 구한다.

                  (1)

만약 $m$이 커질 때 ${\bf T}^m$이 $0$으로 간다면, 식 (1)을 이용해 역행렬을 다음처럼 표현할 수 있다.

                  (2)

따라서 어떤 행렬 $\bf A$의 역행렬은 식 (2)에 ${\bf T}$ = ${\bf I} - {\bf A}$를 대입해 계산할 수 있다. 식 (2)와 같은 방법을 쓰면, 다양한 역연산(inverse operator)무한 급수(infinite series)로 정의할 수 있다. 이 경우, 식 (2)에 나타나는 무한 급수를 노이만 급수(Neumann series)라 한다. 노이만 급수는 1877년노이만 45세, 조선 고종 시절에 노이만Carl Neumann(1832–1925)이 제안하였다. 이외에도 노이만은 노이만 경계 조건(Neumann boundary condition)으로도 유명하다. 노이만의 아버지Franz Ernst Neumann(1798–1895)는 자기장(magnetic field)에 나오는 자기 벡터 포텐셜(magnetic vector potential)노이만 공식(Neumann formula)을 제안하였다.
식 (2)에 등장한 노이만 급수의 수렴성을 판정한다. 임의의 열 벡터 $\bf x$를 곱해도 식 (2)의 우변에 있는 무한 급수는 수렴한다고 가정한다. 이 조건을 이용해 열 벡터 $\bf x$를 $n$개의 고유 벡터(eigenvector) ${\bf x}_i$에 대한 선형 결합으로 바꾸어서 노이만 급수에 곱한다.

                  (3)

여기서 $\lambda_i$는 고유 벡터 ${\bf x}_i$에 대한 고유치(eigenvalue), $\bf T$의 차원은 $n \times n$이다. 식 (3)의 마지막식이 모든 경우에 수렴하려면, 최대 고유치의 크기가 $1$보다 작아야 한다. 따라서 노이만 급수의 수렴 조건은 행렬 $\bf T$에 대해 $\Lambda_\text{max} < 1$이다. 여기서 $\Lambda_\text{max}$는 크기가 가장 큰 고유치[= $\max(|\lambda_i|)$]를 의미한다.
보통 가우스 소거법(Gaussian elimination)으로 푸는 연립 방정식 ${\bf Ax}$ = $\bf b$도 반복법으로 해결할 수 있다. 행렬 $\bf A$를 나누어서 $\bf A$ = ${\bf S} - {\bf T}$라고 둔다. 그러면 연립 방정식의 해인 열 벡터 $\bf x$를 다음과 같은 반복법으로 표현할 수 있다[1].

                  (4)

여기서 $k$가 커지면 ${\bf x}_k$는 $\bf x$에 수렴한다고 가정한다. 식 (4)의 왼쪽과 오른쪽 등식을 서로 빼서 반복법의 오차 벡터 ${\bf e}_k$에 대한 관계식을 만든다.

                  (5)

여기서 ${\bf e}_k$ = ${\bf x} - {\bf x}_k$이다. 다음 단계로 식 (3)에 있는 위쪽 등식처럼 오차 벡터를 고유 벡터의 선형 결합으로 바꾼다.

                  (6)

여기서 $\lambda_i$는 ${\bf S}^{-1}{\bf T}$의 제$i$번째 고유치, ${\bf S}^{-1}{\bf T}$의 차원은 $n \times n$이다. 따라서 모든 고유치가 $|\lambda_i| < 1$을 만족하면, 식 (4)에서 얻은 반복법의 결과는 해 $\bf x$에 수렴한다. 혹은 더 쉽게 크기가 가장 큰 $\Lambda_\text{max}$가 $1$보다 작으면 반복법은 수렴한다. 또한 반복법의 수렴 속도는 최대 크기의 고유치 $\Lambda_\text{max}$에 달려있다. 그래서 로랑 급수(Laurent series)의 수렴 반경(radius of convergence)처럼 $\Lambda_\text{max}$를 스펙트럼 반경(spectral radius)이라 부른다.

                  (7)

수렴 조건을 표현할 때, 주파수 범위를 뜻하는 스펙트럼이 쓰여서 약간 이상하다. 하지만 주파수에 대한 푸리에 급수(Fourier series)처럼 고유 벡터를 이용해 임의의 열 벡터를 분해한 후 반복법의 수렴 특성을 분석하므로, 스펙트럼 반경은 나름 타당한 용어이다. 또한, 스펙트럼 반경은 노이만 급수의 항이 무한대로 갈 때의 점근적 수렴성을 나타내는 특성으로 인해 점근 수렴 인자(asymptotic convergence factor)라고 부르기도 한다. 
식 (4)에 기반한 반복법을 사용하려면, $\bf S$의 역행렬을 구해야 한다. 큰 행렬의 역행렬은 또 다른 문제점을 만들기 때문에, $\bf S$의 선택은 반복법의 효율에 결정적인 영향을 끼친다. 그래서 효율적으로 $\bf S$의 역행렬을 구하기 위해, $\bf S$는 보통 대각 행렬(diagonal matrix)이나 삼각 행렬(triangular matrix)로 택한다. 이로 인해 $\bf S$를 반복법을 위한 전조건자(preconditioner)라 부른다. 행렬 $\bf S$를 대각 행렬로 간편하게 선택하는 반복법은 야코비 방법(Jacobi method)이라 한다. 야코비 방법을 쓰기 위해 ${\bf A}, {\bf S}, {\bf T}$를 다음과 같이 정한다.

                  (8a)

                  (8b)

식 (8)을 식 (4)에 대입해서 정리하면, 야코비 방법의 반복 공식을 얻는다.

             (9a)

                  (9b)

여기서 $\bf S$ = $\bf D$, $\bf T$ = $-({\bf L} + {\bf U})$, $\bf A$ = ${\bf S} - {\bf T}$ = ${\bf D}+{\bf L}+{\bf U}$, 그리고 ${\bf D}, {\bf L}, {\bf U}$는 각각 대각, 하삼각, 상삼각 행렬(diagonal, and lower and upper triangular matrices)이다. 다음처럼 $\bf S$를 하삼각 행렬(lower triangular matrix)로 선택한 반복법은 가우스–자이델 방법(Gauss–Seidel method)이 된다.

                  (10)

식 (10)을 식 (4)에 넣어서 $x_i^{(k+1)}$을 중심으로 모으면 가우스–자이델 방법을 위한 공식이 만들어진다.

                  (11a)

                  (11b)

여기서 $\bf S$ = ${\bf D} + {\bf L}$, $\bf T$ = $-{\bf U}$, $\bf A$ = ${\bf S} - {\bf T}$ = ${\bf D}+{\bf L}+{\bf U}$이다. 야코비 방법과 가우스–자이델 방법을 가중치 $\omega$로 합쳐서 수렴 속도가 빠른 새로운 반복법을 만들 수 있다. 이 반복법은 축차 가속 완화(逐次加速緩和, successive over-relaxation, SOR) 방법 혹은 SOR 방법이라 부른다[5]. 축차는 다음 순서라는 뜻이며, 축차 가속은 다음 순서에도 동일한 완화값을 써서 반복법이 가속된다는 의미이다. 수학에서 완화(緩和, relaxation)는 엄격하지 않은 느슨한(relax) 방법으로 답을 찾는 전략, 혹은 풀기 쉬운 문제로 바꾸어서 답을 대충 근사하는 방식을 뜻한다. 완화를 계속 반복하면 대부분 답에 수렴하지만, 발산할 수도 있어서 완화를 적용할 때는 수렴성을 꼭 확인해야 한다. 최적화(optimization) 기법 중에서 공간 사상(space mapping)은 완화에 기반을 두고 있다.

[그림 2] 완화 인자 $\omega$ 변화에 대한 스펙트럼 반경 $\rho$의 특성(출처: wikipedia.org)

먼저 SOR 방법을 적용하기 위해 행렬 $\bf A$를 다음처럼 $\bf A$ = ${\bf D} + {\bf L} + {\bf U}$로 나눈다.

                  (12)

여기서 $\bf D$ = $\operatorname{diag}(a_{11}, a_{22}, \cdots, a_{nn})$, ${\bf L}$과 ${\bf U}$는 LU 분해와 전혀 관계없이 $\bf A$의 좌하단 및 우상단 원소로 각각 구성한다. 식 (12)에 나온 ${\bf L}$과 ${\bf U}$는 각각 엄격 하삼각 및 상삼각 행렬(strictly lower and upper triangular matrices)이 된다. SOR 방법은 하삼각 행렬을 쓰는 가우스–자이델 방법이 중심이며, 가중치 $\omega$를 가우스–자이델 방법에 곱한다. 추가적으로 $x_i^{(k+1)}$을 구할 때, 야코비 방법적 요소를 추가하기 위해 대각 행렬에 가중치 $1-\omega$를 곱해 $x_i^{(k+1)} - x_i^{(k)}$를 수정 항으로 사용한다.

                  (13)

여기서 가중치 $\omega$는 완화 인자(relaxation factor)라 부른다. 완화 인자 $\omega$가 $1$이면, SOR 방법은 가우스–자이델 방법과 동일하다. 완화 인자가 $\omega < 1$ 및 $\omega > 1$인 값을 가지는 경우는 각각 감속 완화(減速緩和, under-relaxation)가속 완화(加速緩和, over-relaxation)라 이름 붙인다[6]. 완화 인자 $\omega$는 보통 $0 < \omega < 2$ 사이에서 있으며,[과감하게 $\omega$를 복소수로 확장하기도 한다.] 통상적으로 [그림 2]처럼 $1 < \omega < 2$의 범위에서 스펙트럼 반경이 최소가 되도록 $\omega$ = $\omega_\text{opt}$를 선택한다. 여기서 $\omega_\text{opt}$는 최적 완화 인자(optimal relaxation factor)이다. 식 (13)을 $x_i^{(k+1)}$에 대한 공식으로 표현하면 다음과 같다.

                  (14)

식 (13), (14)에서 $\omega$가 $0$ 가까이 갈 때의 성질은 무엇일까? 우리가 원하는 해답을 찾기 위해, 노이만 급수인 식 (2)를 식 (13)에 적용해서 정리한다.

                  (15)

우세 항 $\omega$만 남기고 고차 항을 모두 없애서 더욱 간략화한다.

                  (16)

반복을 통해서 식 (16)이 수렴하게 되는 해는 야코비 방법에 의한 식 (9)가 된다. 

                  (17)

따라서 $\omega \to 0$으로 간 경우에 SOR 방법은 야코비 방법에 수렴한다.

[참고문헌]
[1] G. Strang, Linear Algebra and its Applications, 4th ed., Brooks/Cole, 2006.
[2] D. M. Young, Iterative Solution of Large Linear Systems, New York: Dover Publications, 1971.
[3] R. S. Varga, Matrix Iterative Analysis, 2nd ed., Berlin: Springer-Verlag, 1991.
[4] W. Auzinger and J. M. Melenk, Iterative Solution of Large Linear Systems, 2017. (방문일 2020-09-04)
[5] D. M. Young, Iterative Methods for Solving Partial Difference Equations of Elliptic Type, Ph.D. Thesis, Harvard University, 1950. (방문일 2020-09-04)
[6] P. Wild and W. Niethammer, "Over and underrelaxation for linear systems with weakly cyclic Jacobi matrices of index $p$," Linear Algebra Appl., vol. 91, pp. 29–52, Jun. 1987.
[7] A. Hadjidimos, "Successive overrelaxation (SOR) and related methods," J. Comput. Appl. Math., vol. 123, no. 1–2, pp. 177–199, Nov. 2000.

양의 정부호 행렬(陽의 正符號, Positive Definite Matrix)

[경고] 아래 글을 읽지 않고 "양의 정부호 행렬"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 최소값을 가진 함수(출처: wikipedia.org)

2차 형식(quadratic form) $q({\bf x})$가 열 벡터(column vector) $\bf x$에 관계없이 항상 $0$보다 크다면, 2차 형식을 구성하는 대칭 행렬(symmetric matrix) $\bf A$를 양의 정부호 행렬(陽의 正符號, positive definite matrix)이라 한다.

                  (1)

양의 정부호 행렬을 정의한 식 (1)에도 약점은 있다. 식 (1)은 임의의 열 벡터 $\bf x$에 대해 성립하지만, 안되는 경우가 딱 하나 존재한다. 바로 $\bf x$ = $\bf 0$이 문제이다. 만약 열 벡터가 $0$이라면, 식 (1)은 당연히 $0$이 되어서 양의 정부호가 될 수 없다. 그래서 2차 형식이 항상 $0$보다 크고 $0$이 되는 예외는 열 벡터가 $0$인 조건을 강조해서 엄격한 양의 정부호 행렬(strictly positive definite matrix)이란 표현도 쓴다. 하지만 열 벡터는 $0$이 아니라는 상태에서 식 (1)을 보기 때문에, 엄격한이란 수식어는 양의 정부호 행렬에서는 불필요해서 생략한다. 또한 식 (1)에서 $\bf A$를 대칭 행렬로 제한했지만 반대칭 행렬(skew-symmetric matrix)2차 형식이 0이므로, 임의 행렬을 가지고 2차 형식을 구성해도 결국은 식 (1)처럼 대칭 행렬에 대한 2차 형식으로 바뀐다. 여러 특성을 가진 2차 형식 중에서 항상 $0$보다 큰 양의 정부호를 고려하는 이유는 무엇일까? [그림 1]과 같은 최소값을 가진 함수를 고려하자. 이 함수는 항상 $0$보다 크기 때문에 항상 최소값을 가진다. 어디가 최소인지는 구체적으로 모르지만, 양의 정부호 함수(positive definite function)라서 최소값의 존재성은 보장된다. 따라서 양의 정부호 행렬로 구성한 2차 형식은 항상 최소값이 존재한다. 이런 특성은 비용 함수(cost function)의 최적화(optimization)를 할 때 매우 편리하다. 우리가 고려하는 행렬이 양의 정부호를 가진다면, 이 행렬로 만든 2차 형식은 항상 최소값이 존재한다. 그래서 적절한 최적화 방법을 사용해서 비용 함수의 최소값을 탐색할 수 있다. 
양의 정부호 행렬의 정의는 식 (1)처럼 매우 간단하다. 하지만 영 벡터(zero vector) $\bf 0$을 제외한 임의의 $\bf x$에 대해 식 (1)이 성립해야 양의 정부호이므로, 실제 적용에는 어려움이 많다. 그래서 간단하게 양의 정부호 행렬을 판정하는 방법을 알아본다.

[양의 정부호 행렬의 판정법] [1]
(a) 대칭 행렬 $\bf A$의 모든 고유치(eigenvalue)는 $0$보다 크다.
(b) 모든 선행 주부분 행렬(leading principal submatrix)의 행렬식은 $0$보다 크다.
(c) 행을 교환하지 않은 모든 추축(pivot)은 $0$보다 크다.

[명제 (a)의 증명]
대칭 행렬의 고유치는 항상 실수이어서 고유치의 대소를 구별할 수 있다. 제$i$번째 단위 고유 벡터(unit eigenvector) $\hat {\bf x}_i$에 대해 다음이 성립한다.

                  (2)

만약 고유치 $\lambda_i$가 $0$보다 크다면, $\hat {\bf x}_i$에 대해서 $\bf A$는 양의 정부호가 된다. 다음 단계로 임의의 열 벡터를 고유 벡터의 선형 결합(linear combination)으로 표현하자.

                  (3)

식 (3)을 이용해 2차 형식을 만들면 다음과 같다.

                  (4)

여기서 단위 고유 벡터는 서로 직교한다. 식 (4)는 상수 $\alpha_i$에 대해 항등 관계이므로, 양의 정부호가 되기 위해서는 모든 고유치가 항상 $0$보다 커야 한다. 혹은 고유치가 $0$보다 크면, $\bf A$는 양의 정부호 행렬이 된다.

[명제 (b)의 증명]
선행 주부분 행렬은 좌측 상단 원소를 반드시 포함하는 주부분 행렬(principal submatrix)이다. 예를 들어 3행 3열인 행렬의 모든 선행 주부분 행렬은 다음과 같다.

                          (5)

모든 고유치의 곱은 행렬식과 같으므로 $\bf A$가 양의 정부호라면, 명제 (a)에 의해 고유치가 $0$보다 커서 행렬식은 항상 $0$보다 크다. 모든 선행 주부분 행렬을 고려하기 위해, 열 벡터에서 처음 $k$개의 성분은 $x_i$이고 마지막 $n-k$개의 성분은 항상 $0$이라 생각한다.[∵ $\bf x$는 임의의 열 벡터이기 때문이다.] 그러면 2차 형식은 다음처럼 간략화된다.

                  (6)

여기서 ${\bf x}_k$는 크기가 $k$인 열 벡터, ${\bf A}_k$는 차원이 $k \times k$인 행렬이다. 행렬 $\bf A$가 양의 정부호라면, 식 (6)의 우변이 항상 $0$보다 커야 한다. 그러면 ${\bf A}_k$의 행렬식이 반드시 $0$보다 커야 한다. 따라서 모든 선행 주부분 행렬의 행렬식이 $0$보다 커야만 $\bf A$는 양의 정부호를 가진다.

[명제 (c)의 증명]
가우스 소거법(Gaussian elimination)을 적용하면 상삼각 행렬(upper triangular matrix)이 자연스럽게 얻어진다. 그래서 제$k$번째 추축(樞軸, pivot) $d_k$는 행렬식의 비율 $|{\bf A}_k|/|{\bf A}_{k-1}|$와 같다. 명제 (b)에 의해 $\bf A$가 양의 정부호라면, 모든 선행 주부분 행렬의 행렬식은 양수이다. 따라서 추축도 항상 $0$보다 커야 한다. 반대로 추축이 $0$보다 클 경우, $\bf A$의 특성을 살펴보자. 행렬 $\bf A$는 대칭이므로, 다음 관계를 얻을 수 있다.

                  (7)

여기서 ${\bf A}$ = ${\bf LD}{\bf L}^T$, $\bf D$ = $\operatorname{diag}(d_1, d_2, \cdots, d_n)$, ${\bf R}_i$는 ${\bf L}^T$의 제$i$번째 행 벡터이다. 따라서 제$i$번째 추축 $d_i$가 $0$보다 크면, $\bf A$는 양의 정부호가 된다.
______________________________

선행 주부분 행렬로 만든 식 (6)을 다음처럼 뒤집어도 성립한다.

                  (8)

즉, 처음 행이 아닌 마지막 행에서 커지는 부분 행렬을 만들어도 양의 정부호 행렬을 판정할 수 있다.
식 (1)과는 조금 다르게 2차 형식이 음수가 되지 않는 행렬은 양의 준정부호 행렬(陽의 準定符號行列, positive semidefinite matrix)이라 부른다.

                  (9)

양의 준정부호 행렬은 양의 정부호 행렬과 비슷하게 다음 성질을 가진다.

[양의 준정부호 행렬의 판정법] [1]
(a) 대칭 행렬 $\bf A$의 모든 고유치는 음수가 아니다[혹은 $0$이거나 양수이다].
(b) 모든 선행 주부분 행렬의 행렬식은 음수가 아니다.
(c) 행을 교환하지 않은 모든 추축은 음수가 아니다.

양의 정부호 행렬의 판정법과 거의 유사한 방식은 위 성질을 증명할 수 있다. 양의 준정부호 행렬은 2차 형식이 $0$이 될 수도 있다는 특성을 제외하고는 양의 정부호 행렬과 동일하다. 그렇다면 굳이 양의 준정부호 행렬을 따로 정의할 필요가 있을까? 이 의문에 대한 해답은 2차 형식에서 찾을 수 있다. 양의 정부호 행렬은 2차 형식이 항상 $0$보다 크기 때문에, 2차 형식이 $0$인 경우는 $\bf x$ = $\bf 0$일 때 뿐이다. 하지만 양의 준정부호 행렬은 $\bf x$ $\ne$ $\bf 0$이더라도 행렬 $\bf A$의 특성에 의해 2차 형식이 $0$이 될 수도 있다.
양의 정부호 행렬이 유용한 이유는 연립 방정식의 해법에서도 찾을 수 있다. 벡터가 아닌 스칼라 $x$를 사용해서 다음 다항식 함수 $p(x)$를 정의한다.

                  (10)

여기서 함수 $p(x)$의 극점은 $Ax$ = $b$가 된다. 만약 $A > 0$이라면, $p(x)$는 극점 $x$ = $b/A$에서 최소값을 가진다. 식 (10)의 논의를 스칼라서 벡터로 확장하면 식 (1)에 나온 2차 형식을 만나게 된다[1].

                  (11)

제$i$번째 성분 $x_i$에 대한 편미분(partial differentiation)을 이용해서 함수 $p({\bf x})$의 극점을 구하면 다음과 같다.

                  (12)

여기서 $\bf x$ = $[x_1~\cdots~x_i~\cdots~x_n]$, $b_i$는 열 벡터 $\bf b$의 성분, $a_{ik}$는 행렬 $\bf A$ 원소이며 $a_{ik}$ = $a_{ki}$를 만족한다. 모든 성분 $x_i$에 대해 식 (12)를 만족한다면, 극점이 생기는 위치 $\bf x$는 다음 연립 방정식에 의해 결정된다.

                  (13)

또한 2차 형식이 최소값을 가지는 조건인 양의 정부호 행렬을 만족하는 $\bf A$는 식 (13)의 위치 $\bf x$에서 $p({\bf x})$에 최소값을 만든다. 왜냐하면 임의의 열 벡터 $\bf y$에 대해 다음 2차 형식이 성립하기 때문이다.

                  (14)

여기서 극점 조건에 의해 ${\bf Ax}$ = ${\bf b}$이다. 식 (14)는 2차 형식이며 $\bf A$는 양의 정부호 행렬이므로, $\bf y$ = $\bf x$에서만 최소값을 가진다. 즉, 식 (11)의 최소값을 추적하면 연립 방정식 (13)의 해를 손쉽게 구할 수 있다. 조건을 더욱 약화해서 $\bf A$가 양의 준정부호 행렬이라 해본다. 그러면 식 (11)의 최소값이 생기는 위치는 항상 식 (13)일까? 양의 준정부호 행렬은 최소값과 극점의 관계가 성립하지 않는 경우가 생긴다. 왜냐하면 $\bf x$가 $0$이 아닌데도 ${\bf x}^T{\bf Ax}$가 $0$이 나올 수 있기 때문이다. 따라서 $p({\bf x})$의 최소값 위치가 확실하게 연립 방정식의 해가 되려면, $\bf A$는 반드시 양의 정부호 행렬이어야 한다.

양의 정부호 행렬의 정의인 식 (1)을 시작으로 다양한 양의 정부호 행렬의 성질을 증명할 수 있다.

[양의 정부호 행렬의 연산]
(a) 대칭 행렬 ${\bf A}, {\bf B}$가 양의 정부호 행렬이면, ${\bf A} + {\bf B}$도 양의 정부호 행렬이 된다.
(b) 대칭이며 양의 정부호인 행렬 ${\bf A}, {\bf B}$가 교환 법칙 ${\bf AB} = {\bf BA}$를 만족하면, $\bf AB$도 양의 정부호 행렬이다.
(c) 대칭 행렬 ${\bf A}$가 양의 정부호 행렬이면, ${\bf A}^{-1}$도 양의 정부호 특성을 가진다.

[명제 (a)의 증명]
행렬의 합 ${\bf A} + {\bf B}$에 대해 식 (1)과 같은 2차 형식을 적용한다.

                  (15)

즉, ${\bf A}, {\bf B}$가 양의 정부호를 만족하므로, ${\bf A} + {\bf B}$도 자동적으로 양의 정부호가 된다.

[명제 (b)의 증명]
행렬 $\bf A$를 제곱근으로 바꾸어서 행렬의 곱을 다시 쓴다.

                  (16)

여기서 교환 법칙이 성립하기 때문에 대칭 행렬 ${\bf A}^{1/2}$과 $\bf B$가 서로 교환될 수 있다. 식 (16)의 결과를 하나의 행렬로 보고 식 (1)과 같은 2차 형식을 만든다.

                  (17)

여기서 $\bf B$는 양의 정부호 행렬이라서 임의의 $\bf x$에 대해 2차 형식이 항상 $0$보다 크다.

[명제 (c)의 증명]
역행렬의 고유치는 $\bf A$에 대한 고유치의 역수[= $1/\lambda_i$]이기 때문에, 역행렬의 고유치는 항상 양수이다. 따라서 역행렬도 양의 정부호 행렬이 된다.
______________________________

명제 (a)를 더 확장해서 스칼라 곱으로 만든 $k_1 {\bf A} + k_2 {\bf B}$도 양의 정부호 행렬이 된다. 여기서 $k_1, k_2$는 양수인 스칼라이다.

[참고문헌]
[1] G. Strang, Linear Algebra and its Applications, 4th ed., Brooks/Cole, 2006.

[다음 읽을거리]