벡터와 직교분해

treasurePocket·2020년 12월 9일
0

수학

목록 보기
5/13

투영(projection)


벡터 a에 벡터 u를 투영시키면, 벡터 w1이 됩니다.

w2ua에 투영하고 남은 벡터라고 하여 보완벡터(complement vector)라고 합니다.

직교행렬

직교행렬은 행렬의 열벡터들이 서로 직각을 이루고 있는 행렬을 말합니다.

여기에 각 열벡터들의 길이가 1일 때, 정규직교행렬이라고 말합니다.

어떤 장점이 있나요?

직교행렬의 장점.

만약 행렬 A가 직교행렬이라면 Ax = b의 해를 구할 때 역행렬을 구할 필요가 없습니다.
앞서 말했던 투영을 이용할 수 있기 때문이죠.

위와같은 선형시스템을 풀어봅시다.


알아야 하는 것은 위 그린에서의 빨간 화살표와 주황 화살표의 갯수(실수) 입니다.
빨간 화상표의 갯수를 구하면, u를 투영한 값이 몇a인지 알면 됩니다.

위 식에 대입하면, projau = (24-4/16+4)a == 1a

같은 방법으로 주황 화살표의 갯수를 구하면,
projbu = (6+4/1+4)b = 2b
따라서, x1은 2, x2는 1으로 해를 구할 수 있습니다.

또한 이 과정은 x1을 구하는 과정과 x2를 구하는 과정이 서로 독립적이라는 장점이 있습니다.
그래서 x의 계산이 병렬처리가 가능하여 빠른 계산이 가능합니다.

정규직교행렬의 장점

직교행렬의 장점을 모두 가지고있고, 추가적으로 계산이 더 편하다는 장점이 있습니다.

이 식에서 분모의 ||a||가 1이므로 u·a로 계산할 수 있습니다.

활용(QR분해)

직교행렬은 굉장히 많은 장점을 가지고 있습니다. 그러나 우리에게 주어지는 A는 직교행렬이 아닐 가능성이 크죠...
그래서 A를 직교행렬로 바꿔주는 작업(QR분해)을 합니다!

A를 직교행렬인 Q로 바꾸고 남은 값들은 R행렬로 만들어집니다.
신기하게도 R행렬은 상삼각행렬로 만들어지기 때문에 후방대치법을 사용해 쉽게 값을 구할 수 있겠네요.
QR분해를 하는 과정은 그람-슈미트 과정이라는걸 한다는데... 나중에 공부해봐야겠네요.

vs LU분해

  • LU분해: 선형시스템을 풀 때 병렬처리를 할 수 없습니다.
  • QR분해: Q행렬이 꽉차있는 형태이기 때문에 메모리 사용량이 많습니다.
profile
열공하는 개발자입니다~~

0개의 댓글