로딩 중

변환행렬을 찾기 위한 직교기저변환행렬을 이용하는 방법의 예제

동영상 대본

저번 동영상에서 어떤 행렬이 있을 때 행렬 C라고 하겠습니다 n x k 행렬이라고 합시다 만약 행렬 C의 모든 열들 열 1, 열 2, ... 열 k까지의 모든 열벡터들이 정규직교집합을 형성한다면 한번 적어 보겠습니다. 열들이 정규직교집합이라면 내지는 열들의 집합이 정규직교집합이라면 저번 동영상에서 보여드린 것처럼 CT와 C를 곱하면 단위행렬을 얻게 됩니다 k x k 단위행렬을 얻습니다 크기 k의 단위행렬을 얻게 되는데 왜냐하면 k x n과 n x k의 곱이기 때문입니다 그리고 대각선 성분을 제외한 모든 것들이 어떻게 상쇄되는지도 보았습니다 그러고 나서는 벡터들을 그들 자신과 곱했는데 이들은 모두 단위벡터입니다 그래서 이들의 길이의 제곱을 얻게 되어 대각선을 따라 1을 얻게 됩니다 저번 동영상에서 이를 보았는데요 만약 k가 n과 같다면 어떻게 될까요? 그래서 k가 n과 같다면 어떻게 될까요? 여기 이 행렬이 정사각행렬이 되겠네요 이 행렬이 정사각행렬이라면 또 무엇을 알 수 있나요? 이들이 정규직교집합을 형성한다는 것을 알고 있습니다 두세 번 전의 동영상에서 이는 열들이 서로 선형독립임을 뜻한다고 배웠습니다 그래서 선형독립인 열들을 지닌다는 것도 알고 있습니다 그리고 이건 오래 전에 다루었던 내용이지만 선형독립인 열들을 지닌 정사각행렬이 있다면 C가 가역성을 지닙니다 또한 n개의 열벡터가 있기 때문에 이 열들, 또는 열벡터들이 집합을 형성한다면 이 집합은 Rn의 기저가 됩니다 이쪽에 적겠습니다 이는 c1, c2, ...cn이 n이 k와 같다고 했으니까요 Rn의 기저가 된다는 것을 의미합니다 잠시 다른 내용을 다루겠습니다 다룰 가치가 있는 내용입니다 C가 가역성을 지닌다는 것이 무슨 뜻일까요? 어떤 C의 역행렬이 존재한다는 것을 의미하는데 이러한 역행렬과 C를 곱하면 n x n 단위행렬을 얻게 됩니다 이 경우 k와 n이 같기 때문에 k를 n으로 고치겠습니다 이제 이들 두 식이 비슷하게 보입니다 열들이 정규직교집합을 형성하고 n x n 행렬의 성분이라면 저번 동영상에서 CT와 C의 곱이 n x n 단위행렬이 된다는 것을 다뤘습니다 그리고 이 행렬이 정사각행렬이면서 선형독립인 열들을 지니기 때문에 C는 가역성을 지닙니다 그래서 n x n 행렬의 열들이 정규직교집합을 형성할 때에는 C의 역행렬이 C의 전치행렬과 같습니다 무언가가 C와 곱해진 값이 단위행렬과 같다는 것입니다 여기서도 무언가와 C의 곱이 단위행렬이 됩니다 이들 둘은 동일해야 합니다 그래서 C의 역행렬과 C의 전치행렬은 같습니다 시간을 크게 절약해 줍니다 이 행렬이 정사각행렬이면서 정규직교집합을 지닌다고 가정할 수 있다면 말입니다 왜냐하면 행렬의 역행렬을 구하기가 힘들기 때문입니다 특히 n이 3 이상이면 더욱 그렇습니다 어떤 행렬 A의 역행렬을 찾아야 하는데 예를 들어 10 x 10 행렬의 역행렬을 찾아야 한다면 시간이 정말 오래 걸릴 것입니다 그러나 10 x 10 행렬의 전치행렬을 찾는 것은 훨씬 간단합니다 행과 열을 서로 바꾸기만 하면 됩니다 방금 알게 된 내용을 이용해 과거에 다룬 문제 몇 개를 더 간소화할 수 있는지 보겠습니다 여기 어떤 벡터 v1, v2, v3이 있습니다 복사해서 아래쪽으로 가지고 오겠습니다 그 편이 더 유용할 것 같습니다 복사, 붙여넣기 이쪽에 말입니다 여기 벡터들이 있습니다 이들이 모두 단위벡터이고 이들을 합쳐 놓으면 이들이 정규직교집합을 형성하며 R3의 정규직교기저가 된다는 것의 증명은 여러분에게 맡기겠습니다 그리고 이를 보고 싶다면 시간을 내서 증명해 보세요 그러나 이 동영상에서 다룰 내용은 R3 내에 선형 변환을 생성하는 것입니다 v1과 v2에 의해 생성된 평면이 있다고 합시다 v1과 v2는 서로에 대해 직교하기도 합니다 이는 정규직교집합입니다 그래서 v1과 v2는 직교합니다 이 화살표가 v1이라고 합시다 실제 벡터를 그리지는 않겠습니다 추상적으로 나타내기만 하겠습니다 v1, v2가 어떤 평면을 생성합니다 최선을 다해 평면을 그려 보겠습니다 v1과 v2의 가능한 모든 일차결합을 취하면 R3 내의 평면이 됩니다 이게 그 평면입니다 모든 방향으로 무한히 뻗어 나갑니다 그러나 이렇게만 나타내겠습니다 여기 영벡터도 지니고 있습니다 이 평면을 R3 내에 있는 어떤 부분공간 V라고 하겠습니다 이 부분공간은 v1과 v2의 생성과 같습니다 v3는 이들 둘과 직교합니다 여기 그냥 v3도 그려 보겠습니다 이런 형태일 것입니다 이들 두 벡터에 모두 직교하므로 이들의 모든 일차결합에 대해서도 직교합니다 따라서 평면을 V라고 할 때 v3에 의해 생성되는 직선은 평면의 직교여공간이 됩니다 여기에 v3을 그리면 v3은 직교여공간의 원소가 됩니다 혹은 직교여공간이 v3에 의해 생성되는 직선이 될 것입니다 지금까지는 앞서 다룬 내용이었습니다 이제 만들고자 하는 선형 변환에 대해 다루겠습니다 R3의 선형 변환을 만들려 합니다 앞에서 R3을 다루었죠 어떤 벡터도 이 평면에 대해 대칭시키는 변환입니다 몇 가지 예시를 그려 보겠습니다 잘 그릴 수 있으면 좋겠네요 이렇게 생긴 벡터가 있다고 해 봅시다 벡터 x입니다 그리고 이 벡터는 이렇게 생겼습니다 평면 위에 있는 벡터입니다 위로 튀어나와 있습니다 부분공간 내에 있지 않습니다 그러나 x의 변환은 평면 아래의 거울상이 되게 하고 싶습니다 만약 평면이 투명하다면 이 아래에 보이겠네요 벡터 x가 이렇게 보일 것입니다 이러한 x의 변환을 만들고 싶습니다 어떤 벡터가 있을 때, 새로운 색으로 하겠습니다 이렇게 생긴 벡터가 있다고 하면 벡터의 변환이 평면 아래의 거울상이 됩니다 이게 그 거울상이 됩니다 무슨 뜻인지 아시겠지요 이 변환을 좀 더 이해해 보도록 하겠습니다 v1의 변환은 어떻게 될까요? v1은 평면 위에 있기 때문에 v1의 거울상은 변하지 않습니다 v1의 변환은 v1이 됩니다 v2의 변환은 어떻게 될까요? v2 또한 평면 위에 있습니다 v2를 변환하더라도 v2가 됩니다 v3를 변환하면 어떻게 되나요? v3은 평면과 직교합니다 평면에서 똑바로 나오는 직선입니다 그래서 v3의 거울상은 -v3이 됩니다 -v3이 될 것입니다 v3을 수직인 것으로 나타냈습니다. v3이 반드시 똑바로 나올 필요는 없습니다 단지 평면을 기준으로 그렸습니다 평면이 실제 그린 것보다 더 기울었을 수도 있습니다 어쨌거나 v3을 변환하면 -v3이 됩니다 변환을 만들기가 상당히 힘들어 보입니다 과거에 했던 것처럼 R3의 표준 기저벡터에 변환을 적용할 수도 있습니다 그러나 삼각법을 많이 사용해야 해서 매우 복잡해 보입니다 평면의 기울기를 알아내어 무엇을 할 지 보아야 합니다 시각화하기도 힘들 것입니다 그렇기 때문에 기저를 바꾸면 변환이 더 쉬워질 것이라는 생각이 들지도 모릅니다 이것이 표준 기저라고 가정해 봅시다 그리고 표준 기저에 구하고자 하는 변환의 행렬 A를 곱하여 x의 변환을 얻습니다 이러한 변환행렬이 찾기 힘들다는 것인데 표준 기저벡터를 대입했을 때의 변환을 구하기 힘들기 때문입니다 그래서 기저를 생성하려고 합니다 x를 새로운 기저로 나타낸다면 그러니까 x를 기저변환행렬의 역행렬과 곱하면 x를 새로운 기저에 대한 좌표로 나타낸 값을 얻게 됩니다 새로운 기저에서 D를 구하는 것이 더 쉬울 것입니다 그러고 B를 이용하여 나타낸 x의 변환을 얻게 됩니다 그러고 나서 여기에 C를 곱합니다 만약 D를 구할 수 있다면 우리는 x의 변환이 Ax가 되는 것을 알고 있습니다 오래 전 선형 변환이 행렬 벡터 곱으로 표현될 수 있다는 것을 보았습니다 그러나 이를 찾기 어렵다고 해 봅시다 이는 어렵습니다 그래서 다른 방식으로 이를 구해야 합니다 x의 변환을 구하기 위해 x를 먼저 C의 역행렬과 곱하여 x를 B로 나타낸 값을 얻습니다 먼저 C의 역행렬과 곱하는 것입니다 그런 다음 D와 곱하여 B로 나타낸 x의 변환을 얻습니다 다음으로는 D와 곱하는 것입니다 그러고는 C와 곱하여 변환의 표준 기저로 되돌아갑니다 마지막으로 C를 곱합니다 언젠가 이러한 식을 보았습니다 그래서 D를 쉽게 찾을 수 있는 기저를 구할 수 있다면 기저변환행렬과 기저변환행렬의 역행렬을 곱하여 A를 구할 수 있습니다 여기 이 값이 A와 같아야 하기 때문입니다 만약 정규직교기저를 선택한다면 B가 세 개의 벡터를 지닌 정규직교기저라면 C는 가역성을 지닙니다 만약 B가 정규직교기저라면 CT와 C의 곱이 단위행렬이 된다는 것을 알고 있습니다 그리고 C가 가역성을 지닌다는 것도 알고 있습니다 C가 3 x 3 행렬이니까요 C의 역행렬이 존재합니다 동영상 앞부분에서 이는 CT가 C의 역행렬이 되는 것이라고 했었는데 CT가 C의 역행렬과 같은 성질을 보이기 때문입니다 그리고 C가 n x n 행렬이거나 이 경우 3 x 3 행렬이니까 R3입니다 CDCT로 더 간단히 쓸 수 있는데 3 x 3 행렬의 역행렬을 구하는 것보다 더 구하기 쉽습니다 이를 효과적으로 할 수 있을지 보겠습니다 좋은 기저란 무엇일까요? 아마 v1, v2, v3을 사용하는 것이 자연스러울텐데 이들 기저벡터들에 대한 변환을 쉽게 알 수 있기 때문입니다 한번 적어 보겠습니다 기저가 v1, v2, v3이 되도록 바꿀 것입니다 그리고 지금 진행하는 것을 확실히 이해하기 위해 각 벡터들을 새로운 기저에서 어떻게 나타내는지 보겠습니다 v1은 v1의 1배 더하기 v2의 0배 더하기 v3의 0배입니다 그래서 v1이 기저벡터인 새로운 기저에서 v1은 1, 0, 0이 됩니다 마찬가지로 v2는 새로운 기저에서 어떻게 나타날까요? 하지 않아도 아실 것으로 믿겠습니다 여기 적어 보겠습니다 새로운 기저에서 v2는 0 곱하기 v1 이 숫자들은 기저벡터와 곱해지는 계수입니다 0 곱하기 v1 더하기 1 곱하기 v2 더하기 0 곱하기 v3이 됩니다 마지막으로 v3은 0 곱하기 v1 더하기 0 곱하기 v2 더하기 1 곱하기 v3이 됩니다 아주 쉽습니다 기저변환행렬은 어떻게 될까요? 나중에 하도록 하겠습니다 그러나 기저변환행렬은 이 벡터들을 열로 갖는 행렬이 될 것입니다 물론 역행렬은 그 전치행렬이 되고요 하지만 이는 잠시 후에 다루도록 하겠습니다 어떻게 D를 구할 수 있을까요? D를 적어 봅시다 D에는 세 개의 열이 있을 것입니다 d1, d2, d3입니다 여전히 3차원에서 사상합니다 이를 3차원 행렬벡터에서 3차원 벡터라고 할 수 있을 것입니다 이들은 각각 R3의 원소입니다 v1의 변환을 B 좌표계로 나타내면 어떻게 될까요? 이는 D 곱하기 v1을 B 좌표계로 표현한 것과 곱하는 것과 같고 이는 d1, d2, d3를 이 값과 곱하는 것과 같습니다 맞나요? 이는 v1을 B 좌표로 표현한 것입니다 그래서 1, 0, 0을 곱합니다 이는 d1과 같습니다 저번에 이를 다루었습니다 d1은 B 좌표계로 나타낸 v1을 변환한 것입니다 마찬가지 논리로 조금 더 옆에서 진행하겠습니다 오른쪽에 여백이 부족합니다 그래서 B 좌표계로 나타낸 v2의 변환은 D와 같습니다 이는 d1, d2, d3와 B로 나타낸 v2와의 곱입니다 B 좌표계로 나타낸 v2는 0, 1, 0입니다 d2가 됩니다 그리고 마지막으로, 이제 마무리하겠습니다. 그래서 B 좌표계로 나타낸 v3의 변환은 d1, d2, d3와 B로 나타낸 v3과의 곱입니다 그래서 0, 0, 1을 곱합니다 0 곱하기 d1 더하기 0 곱하기 d2 더하기 1 곱하기 d3이 되어 d3이 됩니다 D의 열들을 찾으며 결과적으로 B로 나타낸 변환을 찾을 수 있다는 것의 증명이었습니다 그래서 D가 어떻게 되냐면 첫 열은 이렇게 됩니다 B로 나타낸 v1의 변환입니다 이것이 두 번째 열이 됩니다 이것이 d2입니다 B로 나타낸 v2의 변환입니다 그리고 세 번째 열은 B로 나타낸 v3의 변환입니다 이렇게요 이들을 찾을 수 있을지 보겠습니다 너무 어렵지는 않아야 할 것입니다 앞서 위에서 보았습니다 v1, v2, v3의 변환이 무엇인지 적어 두었습니다 이들이 B 좌표계에서 어떻게 되는지만 보면 됩니다 복사해서 가져가도록 하겠습니다 참고하기 좋을 것입니다 이를 이미 발견했습니다 여기 붙여 넣겠습니다 이렇게요 앞서 찾아 둔 내용입니다 그래서 이들을 B 좌표계로 나타내기만 하면 됩니다 v1의 변환을 B 좌표계로 나타내면 비슷한 내용을 진행했었지요 한번 적어 보겠습니다 하도 적다보니 단조롭군요 v1을 B 좌표계로 나타낸 것과 같아 1, 0, 0이 됩니다 여기에 D를 적어 보겠습니다 D의 첫 번째 열이 되고 1, 0, 0입니다 두 번째 열은 어떤가요? v2의 변환을 B로 나타내는 것은 v2를 B로 나타낸 것과 동일하여 0, 1, 0이 되고, 이제 하나가 남습니다 이건 조금 더 흥미롭습니다 v3의 변환을 B로 나타내면 그리고 v3은 평면 위에 있지 않았습니다 v3의 변환은 -v3이었습니다 부호를 반대로 하는데 평면에 비친 거울상을 구하는 것이기 때문입니다 v3을 B로 나타내게 되는 것입니다 -v3은 0 곱하기 v1 더하기 0 곱하기 v2 빼기 1 곱하기 v3입니다 이들이 기저벡터이기 때문에 세 번째 열은 0, 0, -1이 됩니다 그래서 D 변환을 알게 되었습니다 이는 꽤 간단합니다 여기의 D가 우리가 막 알아낸 행렬입니다 A를 알아내기 위해 여기 이 식에 기저변환행렬을 대입하여 사용할 수 있습니다 이대로 복사해 가져오겠습니다 유용하게 쓰일 것입니다 전부 가져오겠습니다 복사해서 여기 붙여 넣으면 D를 얻게 됩니다 모두 가져왔습니다 이제 A가 무엇인지 알아봅시다 이를 위해 먼저 기저변환행렬을 알아야 합니다 이렇게 쓰도록 하겠습니다 우선 여기를 조금 정리하겠습니다 이 내용만 필요하니까요 이 내용들은 별로 필요하지 않습니다 이들을 지우도록 하겠습니다 그래서 A가 무엇인지 알아봅시다 A는 기저변환행렬에 여기서 기저변환행렬은 이들을 열로 지니고 있는 행렬입니다 1/3을 앞으로 꺼내겠습니다 그래서 C는 1/3 곱하기 2, -2, 1, 2, 1, -2, 1, 2, 2가 됩니다 맞나요? A를 구하려면 여기에 기저변환행렬인 C에 D를 곱해야 합니다 D는 1, 0, 0, 0, 1, 0, 0, 0, -1입니다 그래서 항등행렬처럼 생겼지만 마지막 벡터가 반대로 되어 -1이 있습니다 그리고 C의 역행렬을 곱합니다 그러나 C가 정규직교 열을 지닌 정사각행렬이므로 C의 역행렬이 C의 전치행렬과 같습니다 그래서 여기에 써 보겠습니다 한번 적어 보겠습니다 여기 이 행렬의 전치행렬이 됩니다 단순화하기 위해 1/3을 먼저 쓰겠습니다 그래서 1/3 곱하기 이 행렬의 전치행렬 2, 2, 1이 있고, 그래서 2, 2, 1이 됩니다 -2, 1, 2이 있고, 그래서 -2, 1, 2가 됩니다 그리고 1, -2, 2, 그래서 1, -2, 2가 됩니다 그리고 여기 이 값은 C의 역행렬인데 C의 전치행렬과 같습니다 C가 가역성을 지녔고, 혹은 정규직교하는 열들을 지닌 정사각행렬이기 때문입니다 그래서 이는 무엇과 같게 되나요? 먼저, 일단 이 행렬이 D라고 적겠습니다 일단 곱셈을 먼저 계산해 봅시다 1/3들에 대해서는 나중에 계산할 것입니다 이제 이 내용을 지우겠습니다 이쪽 공간을 사용할 수 있습니다 지우도록 하겠습니다 펜 도구를 다시 켜 보도록 하겠습니다 좋습니다 먼저 이 곱셈을 계산합시다 그래서 A는, 우선 1/3들을 빼 두겠습니다 1/9가 됩니다 또 다른 3 x 3 행렬이 됩니다 2, 2, 1과 1, 0, 0을 곱하는 것입니다 혹은 2, 2, 1과 1, 0, 0의 내적을 구하는 것입니다 그래서 유일하게 0이 아닌 항은 2 곱하기 1입니다 그래서 2가 됩니다 그리고 2, 2, 1을 두 번째 열의 0, 1, 0과 내적합니다 가운데의 2 항만이 0이 아니게 됩니다 그러고는 2, 2, 1을 0, 0, -1과 내적합니다 마지막 항만이 0이 아니게 되며 - 부호가 달려 -1이 됩니다 나쁘지 않습니다 단순화시켰지만 거의 단위행렬과 비슷합니다 다음으로는 이 행이 있습니다 -2, 1, 2를 이 열과 내적해야 합니다 -2만이 그대로 남게 됩니다 다음으로는 두 번째 열과 내적하여 1만이 그대로 남게 됩니다 그리고 마지막 열과 내적합니다 부호가 반대로 바뀝니다 그리고 -2만이 남게 됩니다 어떤 식으로 진행되고 있는지 아실 겁니다 이들 두 행은 그대로 유지되지만 세 번째 행의 부호가 반대가 됩니다 다시 해 보겠습니다 이 행을 택합니다 그리고 이 행벡터와 열벡터의 내적을 취합니다 이 성분만이 남게 됩니다 그리고 이 열벡터와 내적하여 -2를 얻습니다 그리고 이 열벡터와 내적하면 2만이 남게 됩니다 그런데 -1이기 때문에 -2가 됩니다 그리고 다음과 같은 벡터가 있습니다 1/3들을 먼저 빼 두고 곱해서 1/9를 얻었습니다 그리고 2, -2, 1, 2, 1, -2, 1, 2, 2가 있습니다 곱하기 더 어렵겠지만 할 수 있을 것 같습니다 할 수 있을 것 같습니다 마지막 과정이니까요 그래서 변환행렬 A는 R3의 어떤 평면에 대한 거울상으로 변환하는 변환행렬은 1/9 곱하기 3 x 3 행렬이 됩니다 먼저 2 곱하기 2는 4입니다 적어 보겠습니다 너무 번거롭습니다 그래서 2 곱하기 2는 4이고, 더하기 2 곱하기 2는 4이고 더하기 -1입니다. 맞나요? 그래서 4 더하기 4 빼기 1은 7입니다 4더하기 4 빼기 1은 7 이제 이 행과 두 번째 열을 곱할 것입니다 2 곱하기 -2는 -4, 더하기 2는 -2입니다 그리고 2를 빼면 -4입니다 그리고 2 곱하기 1은 2이고, 빼기 4를 해서 -2가 되고, 빼기 2를 해서 -4가 됩니다 별로 어렵지 않습니다 이제 두 번째 행에서, -2 곱하기 2는 -4이고, 더하기 2를 해서 -2가 되고 빼기 2를 하여 -4가 됩니다 그러고 나서 -2 곱하기 -2는 4이고 더하기 1 하면 5가 되고 빼기 4입니다 제대로 계산했는지 보겠습니다 -2 곱하기 -2는 4이고 더하기 1 곱하기 1은 -3이고 더하기 -2 곱하기 -2는 -4입니다 좀 헷갈립니다 점점 헷갈리고 있습니다 사실 간단한 내용입니다 -2 곱하기 -2는 4이고, 더하기 1은 5, 빼기 4는 1입니다 그리고 -2 더하기 -2, 그러니까 -4입니다 더하기 -4를 하면 -8이 됩니다 마지막입니다 가장 힘든 부분이군요 2 빼기 4는 -2이고, 여기서 2를 빼면 -4가 됩니다. 이제 -2 빼기 2 빼기 4는 -8입니다. 마지막으로 1 더하기 4 빼기 4는 1입니다 중간에 실수를 하지 않았다면 끝났습니다 이제 반사하는 변환을 구했습니다 이러한 멋진 과정을 통해서요 이 두 벡터에 의해 생성되는 평면에 반사되는 변환을 이 행렬로 나타낼 수 있습니다 따라서 표준 좌표계로 나타낸 x에 이러한 변환을 가하는 것은 Ax가 됩니다. A는 이 행렬입니다 1/9를 행렬 내에 곱할 수도 있지만 더 복잡해 질 것입니다 그러나 이 행렬을 직접 계산하거나 표준 기저벡터의 변환을 계산하려 하면 더욱 어려웠을 것입니다 일반적으로 이러한 행렬을 구할 때 하는 것들이죠 대신 기저를 자연스러운 정규직교기저로 변환합니다 그리고 이 기저가 정규직교한다는 사실이 기저변환행렬의 역행렬을 구하는 것을 쉽게 만들어 주었습니다 아무튼 이를 유용하다고 생각했으면 좋겠습니다