-
이번에는 제가 선호하는 방법으로
3X3 행렬의 역행렬을 구해보겠습니다.
사실 굉장히 재미있다고 생각합니다.
그리고 부주의한 실수를 할 확률이 적어지죠.
제가 대수 2 에서 기억하고 있는 것이 맞다면,
거기서 이 방법으로 가르쳐 주지 않았어요.
그래서 제가 처음에 다른 방법으로 가르쳤습니다.
하지만 이 방법으로 한 번 해봅시다.
그리고 다음 비디오에서는 어떻게 이렇게 되는지 알려드릴게요.
왜냐하면 그게 가장 중요하기 때문입니다.
선형대수 중에서 이것은 연산이 매우 중요한 소수의 과목들 중 하나입니다.
저는 연산을 어떻게 하는지 배우는 것이 굉장히 중요하다고 생각합니다.
그 다음에, 왜 그런지 알아보도록 합시다.
왜냐하면 "어떻게"하는지는 굉장히 기계적이기 때문입니다.
그리고 대부분 그저
기본적인 산수를 포함하기 때문입니다.
하지만 "왜" 그런지는 꽤 깊은 내용입니다.
그래서 그 내용은 다음 비디오로 남겨 두겠습니다.
그리고 대부분 사물의 깊이를 아는데에 있어서
"어떻게"하는지에 대한 자신감이 전제되는 경우가 많습니다.
어쨌든 처음 행렬로 되돌아 가봅시다.
저번 비디오에서 보았던
행렬이 뭐였죠?
(1,0,1) (0,2,1) (1,1,1) 이었습니다.
그리고 이 행렬의 역행렬을 구하고 싶습니다.
이것이 우리가 할 일 입니다.
가우스-조단의 소거법이라고 불리는 것인데요,
행렬의 역행렬을 구하는 방법입니다.
이 방법을 본다면 조금 마법같다 느낄 수 있고,
믿기지 않으실 수도 있지만,
다음 비디오를 본다면 이해가 될 것입니다.
이제 할 일은 행렬을 첨가하는 것입니다.
첨가하는 것이 뭘까요?
그저 행렬에 무엇을 더한다는 의미입니다.
나누는 선을 긋겠습니다.
선을 긋지 않는 사람도 있습니다.
여기에 나누는 선을 긋는다면,
나누는 선 반대편에는 무엇을 둘까요?
같은 크기의 항등행렬을 놓겠습니다.
3X3 행렬이므로 3X3 단위행렬을 쓰겠습니다.
즉 (1,0,0) (0,1,0) (0,0,1) 입니다.
그럼 이제 어떻게 할까요?
지금부터 저는
기본 행 연산을 하겠습니다.
그리고 유효한 기본 행이 무엇인지
이 행렬에서 알려드릴게요.
제가 여기 행에서 하는 모든 행동은,
여기 대응하는 행에서도 똑같이 해야합니다.
그리고 제 목표는 왼손 편에서
많은 연산을 행하는 것입니다.
당연히 오른손 편에서도 같은 연산이 행해지겠죠,
최종적으로 왼손 편의 단위행렬을
구하기 위해서요.
그 다음에 왼손 편에 단위행렬을 두면,
오른손 편에 있는 것은
원래 있던 행렬의 역행렬이 되겠습니다.
그리고 이것이 단위행렬이 될때,
사실 감소 행 계층 형식이라고 불립니다.
이것에 대해 더 얘기해보겠습니다.
선형 대수에서는 많은 명칭들이 있습니다.
그러나 그저 간단한 개념일 뿐입니다.
어찌됐건, 개념이 좀 더 명확해 질 수 있도록
얘기를 시작해봅시다.
최소한 그 과정이 이해가 되실겁니다.
왜 그런지는 이해 못하실 수도 있어요.
제일 먼저, 제가 여기서
많은 연산들을 할거라고 말씀드렸습니다.
여기서 적합한 연산이 무엇일까요?
그것은 기본 행 연산입니다.
제가 할 수 있는 몇가지가 있습니다.
아무 행을 어떤 숫자와 곱해진 다른 행과
대치할 수 있습니다.
자, 할 수 있습니다.
아무 두 행을 바꿔치기 할 수 있습니다.
당연히 첫번째와 두번째 행을 바꾼다면,
여기에서도 똑같이 해야합니다.
그리고 어떤 행에서 다른 행을 더하거나 뺄 수 있습니다.
이 때, 예를 들어 이 행을
이 행과 이 행을 더한것과 대치할 수 있겠죠.
잠시 후에 제가 무엇을 했는지 이해하실 겁니다.
그리고, 이걸 결합했을때,
저는 이 행에다 -1을 곱한 후에
이 행에다 더하고, 이것을 저 행과 바꾸겠습니다.
이것이 전에 배웠던 선형연산과
비슷하게 느껴지신다면,
우연의 일치가 아닙니다.
왜나하면 행렬은 선형연산을 대표하는
가장 좋은 방법 중 하나이기 때문입니다. 제가 금방 보여드리죠.
어쨌든, 왼손 편을 감소 행 계층 형식으로 만들기 위해
기본 행 연산을 해봅시다.
이것은 그저 화려한 표현일 뿐,
쉽게 말해 단위행렬로 만들어 봅시다.
우리가 하고 싶은것이 무엇인지 봅시다.
우리는 여기 전반에 1이 있기를 원합니다.
이것은 0이 되기를 원합니다.
어떻게 효율적으로 할 수 있는지 봅시다.
행렬을 다시 그려보겠습니다.
여기에 0을 둡시다.
그게 편할 거에요.
맨 위 두개의 행을 똑같이 두겠습니다.
1, 0, 1.
여기 나누는 선이 있죠.
1, 0, 0.
저기에는 아무것도 안했습니다.
두번째 행에도 아무것도 안할게요.
0, 2, 1.
-
0, 1, 0.
이제 이 행을--
참고로 제 목표는 여기에
0을 두는 것입니다.
이제 여기에 단위행렬을 두는 것에
한 발짝 가까워졌습니다.
여기에 어떻게 0을 둘 수 있을까요?
제가 할 수 있는 것은
이 행을 저 행 빼기 이 행과 바꾸는 것입니다.
그래서 저는 세번째 행을
두번째 행 빼기 첫번째 행을 한 것과 바꿀 수 있습니다.
세번째 행 빼기 첫번째 행이 뭘까요?
1 빼기 1은 0입니다.
1 빼기 0은 1입니다.
1 빼기 1은 0입니다.
제가 왼손 편에 했으므로,
오른손 편에도 똑같이 하겠습니다.
즉, 이것을 이것 빼기 이것과 바꿔야합니다.
0빼기 1은 -1입니다.
0 빼기 0은 0입니다.
1 빼기 0은 1입니다.
됐죠?
이제 무엇을 해야할까요?
여기 있는 세번째 행에 0과 0 이 있는데요,
제가 단위행렬에서 두번째 행에 있기를 원하는것과
많이 닮았습니다.
그러면 그냥 이 두 행을 대치하면 되지 않을까요?
첫번째 행과 두번째 행을 그냥 바꾸면 되겠죠?
그렇게 합시다.
첫번째 행과 두번째 행을 바꿔치기 하겠습니다.
첫번째 행은 똑같이 남습니다.
1, 0, 1.
맞은 편도 똑같이 남겠죠.
두번째와 세번째 행을 바꾸겠습니다.
이제 두번째 행은 0, 1, 0이 되었습니다.
오른손 편에도 똑같이 해야죠.
그래서 -1, 0, 1이 되었습니다.
이 두 행을 그냥 바꾼 것입니다.
그러면 세번째 행이
원래 두번째 행이었던 것으로 변합니다.
0, 2, 1.
그리고 0, 1, 0.
됐죠?
이제 무엇을 해야할까요?
여기에 딱 0이 있었다면 좋았을텐데요,
그러면 단위행렬에 더 가까워 질 것입니다.
여기에 0을 어떻게 둘 수 있을까요?
1행에서 2 곱하기 2행을 빼면 어떨까요?
왜냐하면 이것은 1 곱하기 2는 2이기 때문이죠.
그리고 이것에 저것을 뺀다면, 여기에 0이 남겠네요.
그렇게 해봅시다.
첫번째 행은 운이 좋았네요.
지금까지 아무것도 안해도 됐으니까요.
그저 저기 가만히 있네요.
1, 0, 1, 1, 0, 0.
두번째 행은 지금은 바뀌지 않습니다.
-1, 0, 1.
이제 제가 무엇을 한다고 했죠?
3행에서 2 곱하기 2행을 뺄 거에요.
이것은 0 -(2 x 0), 즉 0 이 되겠습니다.
2 - (2 x 1) = 0
1 - (2 x 0) = 1
0 - (2 x -1) 은
양수 2 입니다.
1 - (2 x 0)
는 여전히 1 이죠.
0 - (2 x 1)
는 -2 입니다.
-
제가 맞게 했죠?
그냥 확실히 해두려고요.
0 - (2 x -1) 에서 2 곱하기 -1은 -2이고,
빼는 것이므로 양수가 됩니다.
이제 완전 가까워졌습니다.
거의 단위행렬이나
감소 행 계층 형태와 비슷하네요.
여기 1 만 제외하면 말이죠.
마지막으로 맨 위 행을 건드리겠습니다.
여기에 무엇을 할 수 있을까요?
맨 위 행 - (맨 위 행 x 마지막 행)
을 해보면 어떨까요?
왜냐하면 여기서 저것을 빼면,
0 이 나오기 때문입니다.
그럼 그렇게 해봅시다.
맨 위 행에서
맨 위 행 곱하기 세번째 행을 빼겠습니다.
1 - 0 = 1
0 - 0 = 0
1 - 1 = 0
저게 우리의 전체 목표입니다.
1 - 2 = -1
0 - 1 = -1
0 - (-2) = 2
다른 행들은 똑같이 남습니다.
0, 1, 0, -1, 0, 1.
그리고 0, 0, 1, 2, 1, -2.
이제 나왔네요.
지금까지 왼손 편의
많은 연산을 했습니다.
그리고 오른손 편에도
마찬가지로 같은 연산을 했습니다.
이것은 단위행렬, 또는
감소 행 계층 형태가 되었습니다.
가우스-조단 소거법을 이용하여 구했습니다.
그리고 이건 뭔가요?
이것은 원래 행렬의 역행렬입니다.
이것 곱하기 이것은 단위행렬과 똑같습니다.
이것이 a 라면, 이것은 a의 역수입니다.
이게 전부입니다.
보시면 아시겠지만, 이 방법은 반절의 시간이 걸렸고,
수반, 여인수, 행렬식을 이용했을 때 보다
복잡한 계산을 훨씬 덜했습니다.
-
생각해보시고,
저는 왜 이게 작용했는지 힌트를 드리겠습니다.
제가 왼손 편에 한 모든 연산은
곱하기로 볼 수 있는데요,
즉, 여기서 여기까지 이르기 위해 곱했습니다.
여기에 행렬이 있다고 말할 수 있습니다.
저 행렬에 곱했다면,
이 연산을 할 수 있었을 겁니다.
그리고 이 연산을 하기 위해
다른 행렬에도 곱했어야 할 것입니다.
결국 우리가 지금까지 한 것은
여러 행렬을 곱한 것입니다.
만약 소거행렬이라 불리는 저것을 모두 곱했다면,
기본적으로
이것 곱하기 역수를 한 것입니다.
제가 하는 말은요,
a 가 여기서 저기까지 갈때,
a 곱하기 소거행렬을 해야 한다는 말입니다.
이것은 엄청 헷갈릴 수도 있으므로
무시해도 되지만, 통찰력 있을 것입니다.
여기서 소거한 것은 무엇인가요?
우리는 3과 1을 소거했습니다.
우리는 여기에 이르기 위하여
소거행렬 곱하기 3 ,1 을 했습니다.
그리고 여기서 저기까지 가기 위해,
어떤 행렬들을 곱했습니다.
더 알려드리겠습니다.
어떻게 이 소거행렬들을
만들 수 있는지 보여드리겠습니다.
우리는 소거행렬을 곱해야 합니다.
사실, 여기서 행 바꿈을 했습니다.
이것을 뭐라 부르던지 상관은 없습니다.
이것을 스왑 행렬이라 부를 수 있습니다.
우리는 2행과 3행을 바꿔치기 했습니다.
그리고 여기서 소거행렬을 곱했는데요,
무엇을 한 것일까요?
이것을 소거했는데요,
3행, 2열, 3, 2 였습니다.
드디어 여기에 이르기 위해
소거행렬을 곱했습니다
바로 이것을 소거해야 했습니다.
즉 1행과 3열을 소거했습니다.
-
여기서 이 행렬들이 무엇인지는
별로 알 필요 없습니다.
어떻게 이 행렬들을 만들 수 있는지 보여드리겠습니다.
그러나 일단은 이 연산들이
어떤 행렬들과 곱해짐으로써
이루어졌다는 것을 믿어주세요.
그러나 이미 아는 사실은,
이 행렬들을 곱함으로써 단위행렬을 구했다는 것입니다.
다시 돌아갑시다.
이 행렬들의 결합은,
즉 서로 곱할때,
역행렬이 됩니다.
만약 각각의 소거행렬과 스왑행렬을 곱하면,
이것은 a 의 역행렬이 될 것입니다.
왜냐하면 모든 행렬 곱하기 a 를 하면,
역행렬이 나오기 때문입니다.
무슨 일이 일어난 것일까요?
이 행렬들이 전반적으로 역행렬이라면,
만약 제가 소거행렬
곱하기 단위행렬을 했을때,
이것 곱하기 저것은 저것입니다.
그리고 계속 반복됩니다.
저는 기본적으로 곱하기, 모든 것을 결합하고 있는데요,
즉 a의 역행렬 곱하기 단위행렬을 하고 있는 것입니다.
큰 그림에서 생각해보시길 바랍니다,
당신들을 헷갈리게 만들고 싶지 않습니다.
그냥 제가 무엇을 했는지
이해하셨다면 잘하셨어요.
제가 이 모든 과정에서 하려는 것은,
첨가된 행렬의 양쪽 편을 곱하는 것인데요,
이것을 역행렬이라 할 수 있습니다.
즉, 단위행렬을 구하기 위해
이것과 역행렬을 곱했습니다.
당연히 역행렬 곱하기 단위행렬을 한다면, 역행렬을 구할 수 있겠죠.
당신들을 헷갈리게 하고 싶지 않습니다. 조금이라도 직감을 얻으셨길 바랍니다.
나중에 구체적인 예시들로 더 설명해드리겠습니다. 그러나 수반행렬, 여인수,
소수행렬, 계수 등을 이용한것보다 훨씬 쉬웠기를 바랍니다. 다음에 봅시다.