본문 바로가기

Linear Algebra

MIT Linear Algebra, Lecture 2: Elimination with Matrices

원문 : http://www.catonmat.net/blog/mit-linear-algebra-part-two/

강의 영상 : https://www.youtube.com/watch?v=QVKj3LADCnA

이 포스트에서는 소거법(elimination)과 역대입(back-substitution) 으로 선형 방정식 체계를 푸는것에 대한 강의에 대해 리뷰를 하겠다.


제 2강 : 행렬들의 소거법


소거법은 모든 소프트웨어 패키지가 방정식들을 푸는 방식이다. 만약 소거법이 성공한다면, 답을 얻을 수 있다. 만약 Ax=b에서 A행렬이 "좋은" 행렬(나중에 어떤 것이 좋은 행렬인지를 알아볼 것)이라면, 소거법이 작동되고 효율적인 방식으로 답을 얻을것이다. 또한 어떨때 소거법이 안되는지를 물어보는 것도 아주 좋은 질문이다. 우리는 이 강의에서 어떻게 소거법이 A행렬이 좋은지 나쁜지를 결정하는지를 볼 것이다. 소거법 이후에는 답을 완벽히 내기위해 역대입이라는 단계가 있다. 


좋다 여기 한 방정식 체계가 있다. 3개의 미지수가 있는 3개의 방정식이다.


1강에서 모든 이런한 체계는 행렬형태인 Ax=b의 형태로 쓰여질 수 있다고 했던것을 기억해라. A는 계수들의 행렬이고 x는 미지수들의 열벡터 그리고 b는 답들의 열벡터이다 (오른쪽 편). 그러므로 이 예제의 형렬형태는 다음과 같다.


소거법 과정을 위해, 우리는 A행렬과 b열벡터가 필요하다. 아이디어는 매우 간단하다. 첫째 우리는 확대(또는 첨가)행렬 형식 A|b 으로 A,b를 쓴다.


다음은 3번째 열에서 2열에 2를 곱하여 빼라. 마지막으로 우리가 필요한 상위삼각행렬을 생성하여라.


이제 소거법으로부터 나온 방정식들을 적어보자.


밑에서부터 올라가면서 계산을 하면, 우리는 바로 z,y,x를 구할 수 있다. 마지막 방정식으로 부터  z = -10/5 = -2. 이제 우리는 z를 중간에 있는 방정식에 대입시켜 y를 구할 수 있다.  2y = 6 + 2z = 6 + 2(-2) = 6 - 4 = 2 => y = 1. 그리고 마지막으로 첫번째 방정식에서 y와 z를 대입하여 x를 풀수가 있다.  x = 2 - 2y - z = 2 - 2(1) - (-2) = 2.

우리는 답을 찾았다. 답은  (x=2, y=1, z=-2) 이다. 우리가 답을 찾기위해 사용한 이 과정을 후방대입법이라고 한다. 한 열의 배수인 행을 갖고 그 배수인 행과 더하는것이 주 대각선에 0을 생성한다면, 소거법은 실패할 것이다. (소거법에 실패한 열들과 바꿀 다른열도 없을 것이다.)


강의에서 행렬을 사용하여 어떻게 이러한 문제에서도 소거법을 사용하는지를 계속해서 알려준다. 첫 강의에서, 우리는 한 행렬과 한 열벡터의 곱이 행렬의 열들의 조합을 준다고 배웠다. 유사하게, 한행에 한 행렬을 곱하면 행렬의 열들의 결합을 가져다준다. 

 소거법의 첫단계를 다시보자, 이것은 2번째 열에서 첫번째 열에 3배한것을 뺀다. 이것은 행렬곱으로도 표현이 가능하다. (잠시동안 열 b를 잊자.)

왼쪽항에서 왼에 있는 행렬 E를 소거행렬(또는 기본행렬)이라고 하자. 그리고 이것의 결과행렬의 2행 1열에서 0을 만든다는걸 표시하기 위해 아래첨자를 E21하자 

다음단계는 2열을 2배한 것에 3번째 열을 뺀것이다.


왼편 행렬이 다시 소거행렬이다. 이것을 3행 2열에서 0이 주어지는것 E32라고 하자. 그러나 이 2개의 단계는 합쳐질 수 있음에 주목하자.


따라서 우리는 E32(E21A) = U 라고 쓸수 있다. 행렬 계산은 결합법칙이 성립한다는것을 기억하라. 그러므로 우리는 괄호를 (E32E21)A = U로 바꿀수 있다. 만약 우리가 (E32E21)를 곱한다면 우린 "소거 행렬(Elimination matrix)"이라고 불리는 E라는 하나의 행렬을 얻는다. 우리가 여태껏 한것은 행렬 언어로 전체 소거법의 과정을 표현한것이다.


다음은 한발짝 물러나 치환행렬이 어떻게 되는지를 본다. 질문은 "어떤 행렬이 한 행렬의 두 행들을 바꿀것인가?" 와 "어떤행렬이 한 행렬의 두 열들을 바꿀것인가" 이다, 

이에 대한 답은 동영상에서 찾아보자!