If you're seeing this message, it means we're having trouble loading external resources on our website.

웹 필터가 올바르게 작동하지 않으면 도메인 *. kastatic.org*.kasandbox.org이 차단되어 있는지 확인하세요.

주요 내용

행렬곱 예제

두 행렬의 곱의 예제를 살펴봅시다. 만든 이: 살만 칸 선생님

동영상 대본

지난 수업에서 두 행렬의 곱을 배웠죠 m×n인 행렬 A가 있고 n×k인 행렬 B가 있다고 합시다 n×k인 행렬 B가 있다고 합시다 A와 B의 곱을 다음과 같이 정의하였습니다 곱을 정의하기 전에 B를 열벡터의 집합이라고 합시다 B는 열벡터 b1을 가지고 또 다른 열벡터 b2 이런식으로 해서 bk까지 k개의 열벡터가 있죠 저번 수업에서 A와 B의 곱을 정의했죠 A의 열의 수는 B의 행의 수와 같아야 정의할 수 있죠 그러나 이 곱이 A와 B의 각 열벡터의 곱과 같다고 했죠 색을 바꾸죠 A와 b1을 곱하고 A와 b2를 곱합니다 A와 b2를 곱합니다 A와 b2를 곱합니다 세번째 곱은 A와 b3이고 이런식으로 A와 bk까지죠 이런식으로 A와 bk까지죠 이런식으로 A와 bk까지죠 이 설명에 대한건 이미 봤을텐데요 아마도 대수학 2에서 말이죠 그땐 이 방법으로 명확하게 정의하지 않았죠 그러나 이건 대수학 수업에서 본 것과 동일해요 하지만 이렇게 행렬곱을 정의할 때 중요한 점은 이를 정의하게 된 계기가 두 선형변환의 합성으로부터 나오게 되었다는 것이죠 그 두 선형변환의 행렬이 각각 A와 B가 되는 것이고요 그리고 저번 수업에서 보여드렸죠 행렬과 행렬의 곱을 계산해봅시다 여러분이 할 줄 알게 말이죠 행렬 A가 있어요 행렬 A는 다음과 같아요 1, -1, 2, 0, -2, 1 입니다 쉬운 계산을 위해 낮은 숫자로 하죠 쉬운 계산을 위해 낮은 숫자로 하죠 행렬 B가 있다고 하고 B는 다음과 같아요 1, 0, 1, 1, 2, 0, 1, -1 그리고 3, 1, 0, 2입니다 A는 2×3 행렬로 2행과 3열로 구성되죠 B는 3×4 행렬이에요 정의에 의하면 A와 B의 곱은 뭘까요? 이 곱은 잘 정의되었습니다 A의 열 수가 B의 행 수와 같기 때문입니다 따라서 이 행렬 벡터 곱을 계산할 수 있어요 AB는 다음과 같죠 행렬 A와 열 1, 2, 3을 곱하고 이게 행렬 곱에서 첫 번째 열이 되죠 두 번째는 행렬 A를 열 0, 0, 1과 곱해요 세 번째 열은 행렬 A와 열벡터 1, 1, 0을 곱합니다 세 번째 열은 행렬 A와 열벡터 1, 1, 0을 곱합니다 네 번째 열은 행렬 A와 열벡터 1, -1, 2를 곱합니다 네 번째 열은 행렬 A와 열벡터 1, -1, 2를 곱합니다 그리고 이렇게 적고 나면 왜 A의 열의 수와 B의 행의 수가 같아야 하는지가 확실해집니다 그 이유는 B의 열벡터들이 B에 있는 행 개수 만큼의 성분을 가질 것이기 때문이죠. 이 벡터들을 b1, b2, b3, b4라고 하면 i가 1, 2, 3 또는 4일 때 모든 bi는 R³의 원소가 됩니다 행렬 벡터 곱을 정의하기 위해서는 행렬의 열의 수가 벡터의 차수와 같아야 합니다 행의 수와 열의 수가 같아야 하는 이유죠 행의 수와 열의 수가 같아야 하는 이유죠 이제 행렬 곱 문제를 풀어보죠 네 가지 행렬 벡터 곱은 단순하게 곱할 수 있어요 이건 배운거니까 할 수 있죠 그럼 이건 어떻게 되죠? AB 벡터 곱은 다음과 같아요 첫 번째 열은 A와 열벡터 1, 2, 3을 곱하죠 첫 번째 열은 A와 열벡터 1, 2, 3을 곱하죠 그럼, 이것을 어떻게 정의했죠? 이것을 생각하는 한가지 방법은 이렇게도 생각할 수 있어요 A 각각의 행벡터와 B의 열벡터가 내적한 것과 같다고요 더 나은 방법으로 이게 어떤 행렬의 전치행렬이죠? 이렇게 써보죠 만약 a가 어떤 벡터의 전치행렬이라면 a를 열벡터 0, -1, 2라고 해봅시다 그러면 a의 전치행렬은 전치행렬에 대해 이야기하지 않았지만 여러분이 알 거라고 생각해요 모든 열이 행이 되죠 그래서 다음과 같이 됩니다 0, -1, 2 열벡터를 행벡터로 바꾼거에요 따라서 이걸 a의 전치행렬이라 한다면 행렬 A와 이 벡터를 곱할 때에는 사실상 단순히 A와 이 벡터를 내적하고 있는 겁니다 첫 번째 열과 첫 번째 행에 대해서 말이죠 따라서 그런식으로 계산해 봅시다 이렇게 쓰도록 하죠 그럼 이것은 벡터 (1, -1, 2)가 되고 이건 사실상 이 행을 열로 나타낸 것과 1, 2, 3을 내적한 것입니다 색을 바꿀께요 1, 2, 3을 다른 색으로 하여 식을 단순화합니다 이 행은 여기 열과 같아요 이 행은 여기 열과 같아요 이렇게 쓴 이유는 열벡터의 내적을 정의했기 때문이죠 행벡터는 안하려고 합니다 새로운 정의가 필요없기 때문이죠 따라서 이것이 행렬과 벡터를 곱한 첫 번째 성분입니다 따라서 이것이 행렬과 벡터를 곱한 첫 번째 성분입니다 두 번째 성분은 A의 두 번째 행을 이 벡터와 내적하는 거에요 0, -2, 1과 1, 2, 3을 내적하는 거죠 0, -2, 1과 1, 2, 3을 내적하는 거죠 색깔을 바꿔서 계속해보죠 A와 0, 0, 1을 곱하는 거네요 A의 첫 번째 행이 열로 표현됬죠 그래서 1, -1, 2 곱하기 0, 0, 1로 쓸 수 있죠 그래서 1, -1, 2 곱하기 0, 0, 1로 쓸 수 있죠 그러고 나서 A의 두 번째 행도 열과 곱해지니까 0, -2, 1을 0, 0, 1과 내적하죠 두 개의 행이 남았네요 이건 약간 지루할 수 있지만 피할 수 없어요 실수를 할 수 있지만 과정을 이해하는게 더 중요하죠 그래서 다음은 A의 행을 열로 표현하죠 1, -1, 2 1, 1, 0 이 벡터와 곱해요 A의 이 행 즉, 0, -2, 1을 1, 1, 0과 내적하죠 마지막 두 성분은 A의 첫 번째 행 1, -1, 2를 이 열벡터 1, -1, 2와 내적하는 거에요 기억하세요 여기 이 작은 점은 내적을 뜻합니다 마지막으로 A의 두 번째 행 0, -2, 1을 이 열벡터 1, -1, 2와 내적합니다 A의 두 번째 행 0, -2, 1을 이 열벡터 1, -1, 2와 내적합니다 이게 벡터 곱이 되죠 지금은 복잡해보이지만 당장 계산은 해야 하고 내적은 단지 단순화하는 거에요 그렇다면 이 행렬은 어떻게 단순화될까요? 그렇다면 이 행렬은 어떻게 단순화될까요? 분홍색으로 쓰죠 AB는 여기에 행렬을 쓸게요 이 두 행렬의 내적은 뭐죠? 1과 1을 곱해요 써봅시다 (1×1=1) + {(-1)×2=-2} + (2×3=6) (1×1=1) + {(-1)×2=-2} + (2×3=6) 다음은 (0×1=0) + {(-2)×2=-4} + (1×3=3) (0×1=0) + {(-2)×2=-4} + (1×3=3) (0×1=0) + {(-2)×2=-4} + (1×3=3) 그 다음 (1×0=0) + {(-1)×0=0} + (2×1=2) (1×0=0) + {(-1)×0=0} + (2×1=2) (1×0=0) + {(-1)×0=0} + (2×1=2) 그 다음은 (0×0=0) + {(-2)×0=0} + (1×1=1) (0×0=0) + {(-2)×0=0} + (1×1=1) 다음은 (1×1=1) + {(-1)×1=-1} + (2×0=0) 다음입니다 (0×1=0) + {(-2)×1=-2} + (1×0=0) (0×1=0) + {(-2)×1=-2} + (1×0=0) 거의 다 왔어요 여기는 (1×1=1) + {(-1)×(-1)=1} + (2×2=4) 마지막입니다 (0×1=0) + {(-2)×(-1)=2} + (1×2=2) (0×1=0) + {(-2)×(-1)=2} + (1×2=2) 끝이 보입니다 이제 이 값들을 더하면 되요 따라서 이 두 행렬을 내적하면 2×4 행렬이 되고 1 - 2 + 6 = 5입니다 -4 + 3 = -1입니다 이건 그냥 2입니다 이건 1이고요 1 - 1 + 0 = 0이고 이건 그냥 -2네요 1 + 1 + 4 = 6이고 2 + 2 = 4입니다 끝났어요 A와 B의 곱은 다음과 같아요 A와 B를 다시 보죠 어떻게 이 곱이 나타나는지 좀 더 살펴볼 필요가 있죠 어떻게 이 곱이 나타나는지 좀 더 살펴볼 필요가 있죠 이걸 복사해서 붙이겠습니다 화면을 조금 내립니다 붙여넣을게요 됐네요 이게 A와 B죠 이 행렬에서 곱을 했어요 여기 알아야 할 다른 흥미로운게 있죠 이 곱은 A의 열의 수와 B의 행의 수가 같을 때에만 정의된다고 했죠 그게 이 경우라고 할 수 있죠 A의 행의 수가 2이고 B의 열의 수가 4인 2×4 행렬을 구했죠 2×4 행렬을 얻은거에요 또 다른 질문은 다음과 같습니다 B와 A의 곱도 같을까요? B와 A의 곱도 해봅시다 여기서 정의를 적용하면 어떻게 되죠? B × (1, 0) B × (-1, -2) B × (2, 1) B × (2, 1) 자, 여기 있는 행렬과 벡터의 곱을 할 수 있나요? B는 3×4 행렬이고 이 벡터는 R²의 원소입니다 따라서 이건 정의될 수 없죠 이 벡터의 차수에 비해 열의 수가 더 크기 때문에 행렬 벡터 곱을 할 수 없습니다 그러므로 B와 A의 곱은 A와 B의 곱과 같지 않을 뿐만 아니라 정의될 수도 없죠 3×4 행렬과 2×4 행렬은 서로 곱할 수 없습니다 3×4 행렬과 2×4 행렬은 서로 곱할 수 없습니다 행과 열의 수가 다르기 때문이에요 행과 열의 수가 다르기 때문이에요 AB는 정의가 되고 BA는 정의가 안 되는 것이 명백하므로 AB는 BA와 같지 않다는 것을 알 수 있죠 보통 BA는 AB와 같지 않을 뿐더러 정의되지 않아요 마지막 핵심은 대수학 2에서 행렬과 행렬의 곱을 배웠으나 그 때는 행렬간의 곱에 대해 이해하게된 계기가 없었지만 이제는 있다는 것입니다 왜냐하면 A와 B의 곱을 할 때 지난 수업에서 배웠던 내용입니다 만약 두 변환이 있고 그중 한 변환 S는 R³에서 R²로 변환시키는 변환이고 행렬로 표현됩니다 따라서 어떤 R³의 행렬이 주어졌을 때 변환 S를 적용하려 한다면 이 행렬을 곱하는 것과 같습니다 혹은 R³의 벡터가 주어졌을 때 변환 S를 적용하는 것은 그 벡터와 행렬 A를 곱하는 것과 동일합니다 이렇게 할 수 있겠네요 R³와 R²를 사용한 이유는 A에 열이 3개가 있기 때문이므로 3차원 벡터를 적용할 수 있습니다 비슷한 방법으로 B를 T의 변환행렬이라고 하죠 비슷한 방법으로 B를 T의 변환행렬이라고 하죠 T는 R⁴를 R³로 바꿔주는 변환입니다 만약 R⁴의 어떤 벡터 x가 있다면 B와 x를 곱할 것이고 R³의 벡터를 얻을 것입니다 이제 이 둘이 합성한다면 잠시 생각해 봅시다 여기엔 R⁴와 R³가 있고 이곳엔 R²가 있죠 T는 R⁴에서 R³로의 변환입니다 T는 다음과 같죠 T는 B와 x를 곱한거에요 이것이 T의 변환이죠 그리고 S는 R³에서 R²로의 변환입니다 S는 이와 같습니다 S는 A를 어떤 삼차원 벡터와 곱한 것과 같아요 S는 A를 어떤 삼차원 벡터와 곱한 것과 같아요 이제 이걸 시각화할 수 있죠 A와 B의 곱이 무엇인지 말이죠 A와 B의 곱에서 B의 변환을 먼저 적용합니다 S와 T의 합성은 어떻게 될까요? S와 T의 합성은 어떻게 될까요? S(T(x))가 됩니다 R⁴에서 R³로 변환을 하고 S로 R³을 R²로 변환하는 거죠 S·T 는 R⁴에서 R²로 변환시킵니다 중요한 것은 행렬로 나타낸다는 것이죠 지난 시간에 했었습니다 이것은 A(B(x))와 같아요 이것은 A(B(x))와 같아요 행렬 벡터 곱 정의에 의해 변환을 하게 되죠 변환을 하게 되죠 S와 T의 합성은 정의에 의해 행렬 AB와 같습니다 S와 T의 합성은 정의에 의해 행렬 AB와 같습니다 따라서 변환 AB에 벡터 x를 곱합니다 따라서 변환 AB에 벡터 x를 곱합니다 이 모든 과정을 보여준 이유는 방금 행렬과 행렬의 곱을 다루었기 때문이에요 행렬 A를 행렬 B와 곱하는 번거로움을 겪었죠 그리고 값을 얻어냈고요 부주의한 실수를 안했길 바라요 대수학 2 수업에서는 말하지 않았던 여기서 중요한 것은 변환 S와 T의 합성행렬이에요 변환 S와 T의 합성행렬이에요 무작정 행렬과 행렬을 곱한게 아니죠 조금 지루할 수 있지만 이제 목적을 알죠 이렇게 행렬끼리 곱하는 진짜 목적은 각각 행렬 A와 B로 나타나는 두 선형변환을 합성하기 위해서죠 두 선형변환을 합성하기 위해서죠 유용하게 쓰길 바라요