선형 시스템 Ax=b에서 행렬 A가 직교행렬이면, 해 x는 역행렬 A−1의 계산 없이 다음과 같이 구할 수 있다.
x의 i-번째 요소는 투영(projection)으로 계산 할 수 있다. 즉, 벡터 b를 행렬 A의 각 열벡터 aj에 투영한 연산 projaib로 부터 x=∥ai∥2b⋅ai 임을 계산 할 수 있다.
x의 i-번째 요소와 j-번째 요소의 계산을 독립적이다. 즉, x의 계산은 병렬 처리 가능하다.
예제
다음과 같이 예제가 주어 졌다.
[1−242][x1x2]=[6−2]
위 식을 그림으로 표현하면 다음과 같다. 위 식의 해는 [2, 1]을 쉽게 할 수 있다. 즉, 바꿔 발하면 [1,4] 벡터를 2 스칼라배 만클 이동하고, [4,2] 벡터를 1 스칼라배 이동한다는 것이다. 위 선형시스템의 해는 곧 행렬 A의 스칼라배를 안다는 것이다.
표준 좌표계에서 [6,-2]의 의미는 x-축을 수선의 발을 내렸던이 6이 있었고, y-축으로 수선의 발을 내렸더니 -2가 있었다 라는 의미이다. 이러한 방식으로, 문제에 제시된 행렬 A라는 좌표계는 90°로 이루어져 있으므로 [6,2]에서 [4,2]로 수선의 발을 내린 것과 [6,2]에서 [1,-2]로 수선의 발을 내린 것을 따로 계산이 가능 하다는 것이다. 다음 그림을 보면 쉽게 이해 될 것이다.
y^=projau=(∥a∥2u⋅a)a 를 생각해 보면 다음과 같다. a는 벡터가 되고 a벡터에서 (∥a∥2u⋅a) 만큼 스칼라배 한 것이라고 설명했다. 즉 [1,-2]를 (∥a∥2u⋅a) 스칼라배 만큼 이동 했다는 것이다.
3차원일 경우
정규직교행렬을 이용한 선형시스템
선형 시스템 Ax=b에서 행렬 A가 직교행렬이면, 해 x는 역행렬 A−1의 계산 없이 다음과 같이 구할 수 있다.
x의 i-번째 요소는 내적(product)으로 계산 할 수 있다. 즉, 벡터 b를 행렬 A의 각 열벡터 aj에 투영한 연산 projaib로 부터 xi=b⋅ai 임을 계산 할 수 있다.
x의 i-번째 요소와 j-번째 요소의 계산을 독립적이다. 즉, x의 계산은 병렬 처리 가능하다.
예제
이미 norm 만큼 벡터의 크기가 나눠 져 있기 때문에 사영을 구할 때 norm으로 나누지 않아도 된다.
QR 분해
주어진 행렬에서 정교직교 행렬을 추출하기위 한 분해 방법입니다. 직교성을 갖게되면 해을 쉽게 구할 수 있기 때문입니다.
QR 분해 정의
원래의 행렬 A는 일반적으로 어떤 성격을 갖는지 알기 어렵다. QR 분해를 이용하면 Q 행렬에 직교 성분만 추출 해 낼수 있다. 그 나머지 성분은 행렬 R에 들어가게 된다.
Q: 정규 직교 행렬(orthogonal matrix)
R: upper triangluar matrix(상삼각 행렬)
QR 분해 장점
QR 분해의 장점은 다음과 같습니다.
Ax=b⇒(QR)x=b⇒Q(Rx)=b⇒Qy=b,(단,Rx=y)
이렇게 구한 위의 식을 통해 선형시스템을 두 단계로 간단하게 해결 할 수 있습니다.
1. 내적(inner product) : y 구하기
직교 벡터만 남기 때문에 내적으로 쉽게 y를 구할 수 있다.
Back-substitution(후방대치법): x구하기
상삼각 행렬을 이용해 x를 구할 수 있다.
그람-슈미트
QR분해는 그람 슈미트 과정을 행렬로 코드화 한 것입니다.
Q: 정규 직교 행렬(orthogonal matrix)을 추출한 행렬
R: 행렬 A에서 정규직교성 추출 후 남은 residual, 상삼각행렬
QR 분해의 활용
QR 분해는 다음의 이유로 활용 됩니다.
빠른계산
선형시스템 Ax=b의 해를 구할 때, 정규직교행렬(orthogonal matrix) Q를 이용한 계산 부분은 병렬처리로 빨리 계산 할 수 있습니다. 그러나 R을 이용한 계산 부분은 병렬 처리 할 수 없습니다.
b가 자주 업데이트 되는 경우:
선형시스템 Ax=b에서 행렬 A는 고정되어있고 b가 자주 변하는 문제가 종종 있습니다. 이런경우, 행렬 A를 미리 QR로 분해해 둔다면 b가 업데이트 될때마다 선형시스템의 해를 실시간으로 구할 수 있습니다.