QR 분해 계산기

숫자 형식
솔루션 의견
설명 없음(답변만)

a

b

c

d

x

y

z

clear

i

ab
x2
xn

Randomize

313131313135151515151583137
2
2510
=풀기

  기벤스 회전으로 QR 분해를 계산하는 방법

2×2 평면 회전의 수열을 적용하여 대각선 아래 항목들을 하나씩 0으로 만듭니다. 각 기벤스 회전은 작용하는 두 항목으로부터 결정됩니다. 회전들의 누적 곱이 Q이고 회전된 행렬이 R입니다.

  기벤스 회전 — 계산 예시 (3×3)

초기 행렬
A
을 작성합니다.
A
=
1
1
0
1
0
1
0
1
1
QR
분해는 행렬
A
을 다음과 같은 형태로 표현한 것입니다:
A
=
Q
*
R
;
행렬
Q
은 정규직교 행렬입니다.
행렬
R
은 상 삼각 행렬입니다.
기븐스 회전을 사용하여 행렬
A
의 주 대각선 아래의 모든 요소를 0으로 만들 수 있습니다.
이 방법은 반복적이며 한 번의 반복에서 하나의 요소를 0으로 변환합니다.
마지막 반복에서 주 대각선 아래의 모든 요소가 0으로 변환되면 행렬
R
을 얻습니다.
각 반복에서 행렬
R
을 계산하는 동안 주 대각선 아래의 요소를 0으로 변환하기 위해 행렬
G
을 계산합니다.
모든 전치 행렬
G
을 곱하여 행렬
Q
을 계산할 수 있습니다.
요소를 왼쪽에서 오른쪽으로 위에서 아래로 순서대로 0으로 만듭니다.
각 반복에서 다음 변수를 정의해야 합니다.
a
은 0으로 바꾸려는 요소와 같은 열의 주 대각선에 있는 행렬 Aₖ₋₁의 요소입니다.
a
=
a
0
k - 1
0
i,i
;
b
은 0으로 바꾸려는 행렬 Aₖ₋₁의 요소입니다.
b
=
a
0
k - 1
0
j,i
;
// 여기서
j
은 0으로 바꾸려는 요소가 있는 행의 번호입니다.
i
은 0으로 바꾸려는 요소가 있는 열의 번호입니다.
k
은 반복 횟수입니다.
Aₖ₋₁
은 이전 반복에서 계산된 행렬입니다.
다음으로 다음 값을 계산해야 합니다.
r
=
a
2
0
+
b
2
0
;
c
=
a
r
;
s
= -
b
r
;
이제 행렬
G
을 구성할 수 있습니다.
1)
행렬 G의 기본은 크기가 n x n인 단위 행렬입니다.
// 여기서
n
은 행렬 A의 행 수입니다.
2)
인덱스 [i,i] 아래의 요소는 c와 같습니다.
g
0
i,i
=
c
;
3)
인덱스 [j,j] 아래의 요소는 c와 같습니다.
g
0
j,j
=
c
;
4)
인덱스 [j,i] 아래의 요소는 s와 같습니다.
g
0
j,i
=
s
;
5)
인덱스 [i,j] 아래의 요소는 -s와 같습니다.
g
0
i,j
=
-s
;
행렬
G
을 구성한 후 왼쪽에서 행렬
A
0
k - 1
을 곱하면 행렬
A
0
k
를 얻습니다.
이 단계에서는 인덱스
j,i
아래의 요소를 0으로 만듭니다.
또한 행렬
Q
0
k - 1
에 행렬
G
T
0
을 곱하여 행렬
Q
0
k
를 얻습니다.
2
반복 1
첫 번째 반복에서 행렬
A
0
0
은 원래 행렬
A
과 같습니다.
A
0
0
=
1
1
0
1
0
1
0
1
1
항등 행렬과 같은 초기 행렬
Q
0
0
을 작성합니다.
Q
0
0
=
1
0
0
0
1
0
0
0
1
i
=
1
;
j
=
2
;
a
=
a
0
k - 1
0
i,i
=
a
0
0
0
1,1
=
1
;
b
=
a
0
k - 1
0
j,i
=
a
0
0
0
2,1
=
1
;
r
=
a
2
0
+
b
2
0
=
1
2
0
+
1
2
0
=
1
41
100
;
c
=
a
r
=
1
1
41
100
=
71
100
;
s
= -
b
r
= -
1
1
41
100
=
-
71
100
;
G
=
c
s
0
-s
c
0
0
0
1
=
71
100
-
71
100
0
71
100
71
100
0
0
0
1
;
행렬
A
0
1
A
0
1
=
G
0
·
A
0
0
=
71
100
-
71
100
0
71
100
71
100
0
0
0
1
·
1
1
0
1
0
1
0
1
1
=
1
41
100
0
0
71
100
-
71
100
1
71
100
71
100
1
행렬
G
T
0
G
T
0
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
행렬
Q
0
1
Q
0
1
=
Q
0
0
·
G
T
0
=
1
0
0
0
1
0
0
0
1
·
71
100
71
100
0
-
71
100
71
100
0
0
0
1
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
3
반복 2
i
=
2
;
j
=
3
;
a
=
a
0
k - 1
0
i,i
=
a
0
1
0
2,2
=
-
71
100
;
b
=
a
0
k - 1
0
j,i
=
a
0
1
0
3,2
=
1
;
r
=
a
2
0
+
b
2
0
=
-
71
100
2
0
+
1
2
0
=
1
11
50
;
c
=
a
r
=
-
71
100
1
11
50
=
-
29
50
;
s
= -
b
r
= -
1
1
11
50
=
-
41
50
;
G
=
1
0
0
0
c
s
0
-s
c
=
1
0
0
0
-
29
50
-
41
50
0
41
50
-
29
50
;
행렬
A
0
2
A
0
2
=
G
0
·
A
0
1
=
1
0
0
0
-
29
50
-
41
50
0
41
50
-
29
50
·
1
41
100
0
0
71
100
-
71
100
1
71
100
71
100
1
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
행렬
G
T
0
G
T
0
=
1
0
0
0
-
29
50
41
50
0
-
41
50
-
29
50
행렬
Q
0
2
Q
0
2
=
Q
0
1
·
G
T
0
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
·
1
0
0
0
-
29
50
41
50
0
-
41
50
-
29
50
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
4
행렬 Q, R
Q
=
Q
0
2
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
R
=
A
0
2
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
Answer
A = Q · R
Q
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
R
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
크기3×3방법지벤스 회전

  계산 방법

  출처