행렬 분해(Decomposition) - QR 분해

 

 

성균관대학교 행렬이론 연구실

 

Made by Sang-Gu Lee with MyungGuk Baik

 

2. QR분해

 

정의 2.1 다음과 같은 형태의 행렬을 Householder 행렬이라 한다.

        (벡터 벡터가 아님)

 

보조정리 2.1 벡터 에 대하여 의 상수배가 되는 Householder 행렬 는 항상 존재한다.

 

증명) 를 다음과 같이 정의하면 의 상수배가 되는 것을 알 수 있다.

       , 라고 하면,

       이 되므로

       이 된다.

 

Algorithm 2.1

       Householder 행렬을 이용해 일부 벡터성분을 으로 만드는 법

   ,

 

Step 1 : , = 1, 2, ... ,

Step 2 : , = 1, 2, ... ,

Step 3 :

Step 4 :

Step 5 :

 

예제 2.1 행렬 가 다음과 같을 때,  

가 되는 를 찾아라.

(   일 경우)

 

Sol) =4, =1.0308, =1, =0.25 그래서 =(1.0308, 1, 0.25), =-4.1232  따라서

 

 

2.1 Householder 행렬과 QR 분해(Factorization)

 

정리 2.1 (Householder QR 분해 정리)

주어진 × 행렬 에 대하여, = 이 되는 직교(orthogonal) 행렬 와 상삼각 행렬 이 존재한다. 행렬 는 다음과 같다.

(는 Householder 행렬). 이러한 분해를 행렬 QR분해 라 하다.

 

다음은 Householder행렬을 사용하여 행렬 분해 하는 방법이다.

 

Step 1: Householder행렬 의 첫 번째 열에서 (1, 1) 성분의 아래가 이 되도록 하는 행렬이라 하자.

즉,

이고  은 다음과 같은 행렬이다,

   그러면 이라 하고,

 

 

Step 2: Householder행렬 의 두 번째 열에서 (2, 2) 성분의 아래가 이 되도록 하는 행렬이라 하자.

 

  

는 다음과 같이 구할 수 있다. 우선 Householder행렬   

 =그리고

  그러면 이라 할 수 있다.

 

Step : 번째 단계에서의 다음과 같이 차수(order)가 ()인 Householder 행렬은

,

 

Step -1 : (-1)단계에서의, 는 상삼각 행렬 이 된다.  왜냐면,

, = -1, ... , 2

라 하자. 각 Householder 행렬 는 직교(orthogonal) 행렬 이므로  도 직교행렬이 된다.

 

그러므로 이 되어 =로 분해된다.  

 

 

 

예제 2.2  다음을 QR 분해 해 보자.

 

Step1 : = 1

은 다음을 만족한다.

,

 =

  따라서,

 

Step2 : = 2

,

, ,   

   : 상삼각(upper triangle) 행렬

: 직교(orthogonal) 행렬

 

2.2 Givens 행렬과 QR 분해의 응용

 

정의 2.2 다음과 같은 형태의 행렬을 Givens 행렬이라 한다.

  여기서

 

만약 라고 하면 Given 행렬은 로 나타낼 수 있다.

일반적으로 를 ( , ) 평면에서의 Givens rotation 또는 plane rotation 이라 부른다. 그리고 이므로 이 된다.

 

예제 2.3

이면 는 다음과 같다.

, 이고,

이 된다.

 

Algorithm 2.2 Givens 회전(Rotations)을 사용하여 행렬의 특정위치에 0을 만드는 법

 

Step 1 : 다음을 만족하는 을 구한다.

            

 

Step 2 : 를 대체 ; = 1,2,3, ... ,

           

           

          

           

 

예제 2.4

이라 할 때,   을 이용하여 (2, 1) 위치에 0을 만들어라.

 

Step 1: 우선 , 를 구하도록 한다.

 ,

 

Step 2 : 는 다음과 같다.

이므로

이 된다.

 

정리 2.2 (Givens QR 분해정리)

주어진  × 행렬 에 대하여, 직교행렬(orthogonal matrices),  s = (, -1)가 존재한다.

여기서 이다. 이라 하면 =이 된다.

 

정리 2.3 (QR의 유일성 정리)

행렬 A가 일차독립인 열을(linearly independent column) 갖는 × 행렬이라 하자. 그러면 = 형태를 만족하는 × 직교행렬 와 대각성분이 양인(positive diagonal) 상삼각 × 행렬 이 각각 유일하게 존재한다.

 

예제 2.5

분해중 상삼각 행렬 을 구하여라.

 

Step 1: 우선 , 를 구하도록 한다.

, =0, =1

 

또 다음과 같은 , 를 구하도록 한다.

, ,

Step 2 : 다음과 같은 , 를 구하도록 한다.

, ,

여기서 얻은 상삼각 행렬은 앞에서의 Householder 방법(예제 2.2)에 의해서 얻은 값과 비교해 첫 번째와 세 번째 행의 부호만 다르다.

 

 References

 

Biswa Nath Datta, Numerical Linear Algebra and Applications, An International Thomson Publishing Company, (1995)

 

Horn & Johnson, Matrix Analysis, Cambridge Univ. Press, 1993,

 

Golub and Van Loan, Matrix Computations,