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

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

주요 내용

선형 변환의 행렬 벡터적

선형변환의 행렬 벡터적을 알아봅시다. 만든 이: 살만 칸 선생님

동영상 대본

모두들 행열벡터 내적에 대해 잘 알고 계신다고 생각합니다 그리고 이 강의에서는 벡터와 행열의 내적이 변환하는 과정임을 보여드릴 것입니다 선형변환이라고 하죠 여기 행열 A가 있습니다 행열 A에 열벡터 v1, v2부터 vn까지 존재한다고 합시다 그러면 n개의 열이 존재하겠죠 그리고 m개의 행이 존재한다고 합시다 그래서 m x n 행열이라고 표현 가능하죠 변환을 정의해보려 합니다 Rn에서 Rm으로 가는 변환이라고 할 때 이것이 정의역이 됩니다 Rn의 어떤 벡터 하나를 정해도 Rm 의 요소를 가르키게 되죠 변환을 정의해보겠습니다 x로 이루어진 T 는 Rn의 벡터이고 A와 같습니다 다시 다른색으로 써볼게요 강조도 해볼게요 큰 A 곱하기 벡터 x를 해주세요 이러한 형태의 변환이 조금은 이상할 수 있습니다 평소 우리가 정의했던 변환과 함수와는 조금 다른 형태이죠 가장 먼저 익숙해져야 할 것은 변환의 개념입니다 우리가 지금 무엇을 하려고 하죠? Rn의 어떠한 것을 가지고 Ax를 구하려고 하죠 만약 Ax를 이렇게 적으면 만약 x1, x2가 x라면 n개의 요소를 가질것입니다 왜냐하면 Rn에 속해있기 때문이니까요 이것을 x1 v1 더하기 x2 v2 더하기 xn vn까지 더한 것으로 적을 수 있습니다 그러면 이제 엄청 많은 열벡터의 합이 되겠죠 그리고 열벡터 v1, v2, 부터 vn까지는 어느 집합에 포함되어있을까요? 이 행열은 m x n의 크기를 가집니다 그래서 m개의 행을 갖고있고 열벡터 각각은 m개의 성분을 가집니다 그래서 모든 벡터들은 Rm에 속한다고도 할 수 있습니다 만약에 이 벡터을의 선형결합식을 찾으면 다른 Rm의 요소를 가져오게 되는 것이죠 그래서 여기 Ax는 Rm의 요소가 됩니다 벡터 x에 행열 A를 곱하면 Rn으로부터 Rm으로 대응하겠죠 일반적으로 만약 n이 3이고 m이 5라면 어떻게 될까요? 특히 이런 경우라면 이것은 Rn집합의 특정 요소가 될 것입니다 그리고 그 벡터, 변환 또는 함수가 여기로 대응 시킬 것입니다 그러면 이것을 Rm 성분이라고 하고 이것을 Ax라고 부를것입니다 또는 만약 x가 b와 같다면 벡터 b라고 부를수도 있었겠죠 하지만 이것은 변환대응입니다 그래서 하나의 집합에서 다른 집합으로 대응시키는 함수 또는 변환이 우리가 정의한 것과 맞아떨어집니다 하지만 여전히 만족스럽지는 않습니다 왜냐하면 이전에 이렇게 생긴 것을 보았었죠 만약 변환이 가능하다면 x1, x2 그리고 xn에 관한 변환을 했겠죠 m개의 항을 여기 에 넣습니다 어떤 관련성이 있나요? 자세한 예를 하나 들어봅시다 행열 하나가 있습니다 다른 알파벳을 나타낼게요 행열 B가 있다고 합시다 이 행열 B는 매우 단순합니다 -2, -1, 3, 4로 이루어져있죠 그리고 변환을 정의해줍니다 변환 T라고 합시다 R2에서 R2로 가고 T를 정의합니다 어떤 벡터 x의 T는 Bx와 같습니다 그러면 이것은 무엇과 같을까요? 행열이 여기 있죠 보라색으로 써볼게요 2, -1, 3, 4 벡터 곱하기 x x1, x2 이제 어떻게 될까요? 이 곱셈을 하면 다른 벡터값이 나오겠죠 첫째항이 2 곱하기 x1인 R2의 공역 안의 벡터와 같게 됩니다 저는지금 행열벡터 곱셈을 정의하는 중입니다 2 곱하기 x1 더하기 -1 곱하기 x2는 이 벡터와 이 행의 곱과같죠 다음으로는 두번째 행과 곱해주면 3 곱하기 x1 더하기 4 곱하기 x2가 됩니다 이게 우리가 익숙한 방법이죠 이 변환을 다시 적을 수 있습니다 이 변환을 x1, x2 에 대한 T로 두고 2 x1 빼기 x2, 3 x1 더하기 4 x2로 적을 수 있스빈다 행열 곱셈에 대해 잘 기억하길 바래요 이것이 새로운 개념은 아닙니다 하지만 방법이 조금 다르죠 여기 개념은 다른 변환을 하는 방법 중 하나일 뿐입니다 다음으로 질문을 하나 하자면 이미 이번 강의를 시작할 때 알려드렸는데 행열의 곱은 항상 선형 변환과 같을까요? 선형 변환이기 위한 두가지 조건이 무었이었나요? a 더하기 b 벡터 변환 T 일 때 a 와 b 벡터의 합은 그들의 변환의 합과 같아야합니다 a 의 변환 더하기 b의 변환값을 말하는 것이죠 다른 조건은 상수 c가 곱해진 벡터의 변환은 벡터 변환에 상수 c를 곱한 값과 같아야합니다 이 두가지 조건이 선형 변환의 조건들입니다 그러면 행열의 곱에도 적용이 되는지 알아봅시다 지난시간에 잠시 이 내용을 언급했었죠 그리고 다음번에는 증명해야한다고 이야기 했었습니다 이미 아실 것이라 생각하지만 증명을 해드릴게요 한번은 보여드려야 할 것 같아서요 그러면 행열의 곱을 봅시다 행열 A에 어떤 벡터 x를 곱하면 이렇게 적어볼게요 Ax는 mxn 의 크기를 가질 것입니다 어떤 행열이든 열벡터 여러개로 만들 수 있죠 이 행열은 n개의 열벡터를 가집니다 v1, v2, 부터 vn까지의 열벡터가 존재한다고 합시다 각 열벡터는 m개의 요소를 가집니다 x1, x2, 부터 xn까지죠 이러한 형태의 곱셈을 자주 보았을 것입니다 행열 벡터 곱의 정의에 의하면 이것은 x1 곱하기 v1과 같아야합니다 이 앞의 상수에 벡터를 곱하고 x2v2부터 xnvn까지 더해줍니다 이것이 정의에 의한 행열벡터의 곱 입니다 그리고 이 벡터는 Rm의 요소가 되겠죠 그리고 m개의 성분을 가집니다 만약 mxn 행열 A를 가지고 a 더하기 b벡터에 곱하면 어떻게될까요? 행열 A 곱하기 a 와 b의 합을 구하세요 첫째항은 a1 더하기 b1이죠 두번째 항은 a2 더하기 b2 더 나아가서 n 더하기 bn까지요 비슷한 열과가 나오죠 a 더하기 b를 말하는 것은아닙니다 a번 말하는것이죠 아마 여기 점을 하나 찍어줘야 할 것 같습니다 행열끼리의 곱을 뜻하니까요 이제는 표기에 좀 더 주의를 기울일게요 이것은 행열 벡터의 곱입니다 새로운 행열의 내적은 아닙니다 그저 곱과 같은 것입니다 제가 방금 얘기해드린 것에 의하면 이것은 a1더하기 b1 곱하기 A 의 첫째 열 바로 이 벡터입니다 그리고 여기 A는 여기 A와 같습니다 그래서 v1을 곱해주세요 더하기 a2 더하기 b2 v2 부터 bn vn 까지 해즙니다 각각의 xi 항은 ai 더하기 bi 항으로 바뀔 수 있죠 각 x1은 a1 더하기 b1으로 바뀝니다 여기에서 보이듯이요 다음으로 상수가 곱해진 벡터들은 분배법칙을 가진다는 것을 이미 언급했었죠 이것은 a1 v1과 같습니다 a1의 항을 모두 적어볼게요 a1 v1 더하기 b1 v1 더하기 a2 v2 더하기 b2 v2 부터 더하기 an vn 까지 적어줍니다 만약 a에 관한 항들을 모두 묶고 모든 항을 다시 적으면 a1 v1 더하기 a2 v2 더하기 an vn까지가 되겠죠 a에 관한 항을 모두 적었습니다 그러면 b에 관한 항들을 모아서 적어봅시다 b의 항들은 이렇게 됩니다 더하기 b1 v1 더하기 b2 v2부터 bn vn 까지 더해줍니다 위 아래 식은 같은 식입니다 그저 순서만 바꿔준 것이죠 그러면 이것은 무엇과 같나요? A위 열 벡터와 같게 됩니다 그러면 행열 A에 a1, a2부터 an까지의 벡터를 곱한 것이 되죠 그러면 어떤 값이 나오나요? 여기서 끝이 아닙니다 이것은 행열 A의 열입니다 A와 b 벡터를 곱해줍니다 b1, b2부터 bn까지요 이것은 벡터 b입니다 만약 두 벡터 a와 b를 더하고 행열과 곱해주면 각각의 벡터와 행열을 첫번째부터 하나씩 더한것이 됩니다 방금은 mxn 행열에 의한 식이였습니다 이제 첫번째 조건을 만족시켰네요 그러면 두번째 조건은 어떨까요? 두번째 조건이 조금 더 이해하기 쉽습니다 c 곱하기 a1 행열 A 곱하기 a 곱하기 벡터 ca를 해주면 저는 지금 벡터에 c를 먼저 곱해주는 것입니다 그러면 A를 다시 쓸 수 있겠죠 이것의 열들은 이미 적어놨습니다 v1, v2, 부터 ,vn까지죠 여기 행열 A가있습니다 ca 는 어떻게 생겼나요? 각각의 상수를 a의 항에 곱해주었죠 그래서 c a1, c a2부터 c an 이 되죠 그러면 값은 어떻게 될까요? 이미 많이 본적이 있죠 이것은, 살짝 작게 쓸게요 이것은 c a1 곱하기 열벡터 v1이 됩니다 더하기 c a2곱하기 v2부터 x an 곱하기 vn까지 더해줍니다 그리고 벡터와 스칼라의 곱은 분배법칙을 잘 보여줍니다 제가 영상을 찍으면서도 증명하기 매우 쉽다는 느낌이 듭니다 그래서 이것은 c 곱하기 a1 v2 더하기 a2 v2 부터 an vn 까지의 합이 될 것입니다 그러면 이게 무엇과 같나요? 행열 A와 벡터의 곱은 아마 A를 잘못 표기했을 지도 모릅니다 저는 행열 A는 대분자로 나머지는 소문자를 씁니다 여기 a1, s2 부터 다 있습니다 여기 위에 식은 아래 식과 같습니다 방금까지 저는 행열 하나를 이용하고 상수가 곱해진 벡터를 곱해주는 것을 보여드렸습니다 그리고 이것은 행열에 벡터를 곱해주고 상수를 곱해준 것과 같죠 방금 저는 행열과 벡터적의 곱 또는 선형 변환의 조건을 충족하는 행열 벡터적을 보여드렸습니다 가장 핵심은 행열의 곱이죠 매우 중요합니다 행열의 곱 또는 행열 벡터적은 항상 선형변환입니다 참고하시면 좋습니다 다음영상에서는 어떤 선형 변환이 행열의 곱에 의해 또는 다른 벡터의 변환에 의해 표현되는 것을 알아볼 것입니다 아마 벡터와 행열의 곱이겠죠 이것들이 실생활에 적용되는 예를 들어볼게요 만약 제가 Xbox와 플레이스테이션을 가지고 있다면 3D 그래픽 프로그램을 가지고 있는 것이고 여기서는 뛰어다니며 총도 쏠 수 있습니다 소프트웨어가 다양한 각도를 제공하는 프로그램을 만드는 방법은 프로그램을 만들 때 큐브가 하나 있습니다, 만약 이것을 이런식으로 살짝 움직이면 큐브가 이런 모양으로 보이고 회전하게 되죠 그리고 위아래로 움직일 수 있습니다 이것이 바로 행열의 변환들입니다 더 자세히 생각해봅시다 이것은 모두 벡터 또는 벡터 위치의 변환입니다 더 자세히 보면 이 다양한 움직임은 모두 행열의 곱이죠 그래서 우리가 하는 Xbox, 플레이스테이션과 같은 3D게임들은 모두 행열의 곱으로 만들어지는 것들입니다 그리고 다음 강의에서는 이것을 증명해 볼 예정입니다 만약에 그래픽카드나 그래픽 엔진이있다면 이러한 이론들이 적용되는 것이지요 모든 그래픽 프로세서들은 복잡하고 어려운 행열의 승수들이지요 만약에 일반화된 CPU가 있다면 소프트웨어에 어떻게 행열과 곱을 하는지 써야합니다 하지만 Xbox와 같은 것들을 만들때에는 이러한 추상적인 물체들을 회전시키고 변환을 보여주면서 칩과 같은 하드웨어를 다루죠 이것이 바로 그래픽 프로세서나 그래픽 엔진들이 사용되는 원리입니다