seegongsik
내 단어장
공업수학

행렬은 변환이다

행렬은 표가 아니라 공간을 통째로 움직이는 동작

행렬은 처음 보면 그냥 숫자를 네모나게 늘어놓은 표 같다. 그래서 다들 외우려고만 하는데, 그게 평생 헷갈리는 이유예요. 행렬은 표가 아니라 동작이다. 정확히는 평면 위 모든 점을 한꺼번에 옮기는 함수, 공간을 늘리고 돌리고 비스듬히 미는 일이다. 이 그림 하나가 자리잡으면 행렬곱이 왜 그렇게 정의됐는지도, 고유값이 무엇을 보는 것인지도 갑자기 쉬워져요.

먼저 감을 잡는다. 화면에 격자가 깔려 있고, 슬라이더로 행렬의 숫자를 바꾸면 격자 전체가 같이 휘어지고 늘어난다. 점 하나가 아니라 평면 전체가 통째로 움직이는 것이에요. 이게 변환의 정체이고, 행렬 하나가 이 공간을 이렇게 바꾸라는 명령인 것이다. 중요한 건 격자가 제멋대로 구겨지지는 않는다는 점이다. 직선은 변환 후에도 직선이고 평행한 선은 변환 후에도 평행하며 간격도 일정하게 유지된다. 이렇게 반듯함을 유지하면서 공간을 바꾸는 게 행렬 변환이에요.

그럼 이 복잡해 보이는 변환을 숫자 몇 개로 어떻게 다 적을까. 비밀은 의외로 단순해서 딱 두 점만 따라가면 된다. 오른쪽으로 한 칸 가는 화살표 î, 위로 한 칸 가는 화살표 ĵ. 이 둘이 변환 후에 어디로 가는지만 알면 끝이에요. 그리고 그 도착한 자리가 바로 행렬의 두 열이라, 첫 번째 열은 î가 간 곳이고 두 번째 열은 ĵ가 간 곳이다. 행렬을 보면서 토글을 누르면, 아무 의미 없어 보이던 네 숫자가 사실은 î와 ĵ를 여기로 보내라는 좌표였다는 게 드러나요.

î와 ĵ만 알아서 뭐 하냐 싶겠지만 여기가 핵심이다. 다른 점은 따로 알 필요가 없어요. 평면 위 어떤 벡터든 결국 î를 몇 개, ĵ를 몇 개 합친 것이기 때문이다. 예를 들어 (3, 2)라는 점은 î를 3개, ĵ를 2개 더한 것이다. 그런데 변환은 이 합친 비율을 그대로 보존하니, 변환 후의 (3, 2)는 î가 간 자리를 3개, ĵ가 간 자리를 2개 더한 곳이 된다. 벡터를 끌면서 확인할 수 있는 이것이 바로 선형성이에요. î와 ĵ의 운명만 정하면 나머지 무한히 많은 점은 알아서 따라오고, 그 성질 덕분에 행렬 네 숫자로 공간 전체를 조종할 수 있다.

변환을 한 번 했는데 거기다 또 다른 변환을 하고 싶다면, 예를 들어 먼저 회전시키고 그다음 잡아 늘이고 싶다면 두 행렬을 곱하면 된다. 그러니까 행렬곱은 사실 변환을 잇따라 한다는 뜻이에요. 학교에서 행과 열을 요상하게 곱하라고 배운 그 이상한 규칙이 바로 변환을 차례로 적용한 결과를 계산하는 것이다. 그래서 순서가 중요한데, 회전하고 늘이는 것과 늘이고 회전하는 것은 결과가 다르다. 두 변환의 순서를 바꾸면 그림이 달라져요. AB와 BA가 다른 게 외울 규칙이 아니라 당연한 얘기였던 것이다.

이제 몇 가지 대표 변환을 구경한다. 회전, 확대, 전단(비스듬히 밀기), 반사. 버튼을 눌러 보면 각각이 행렬 하나에 대응한다는 게 드러나요. 우리가 아는 모든 공간을 바꾸는 동작이 결국 행렬이라는 얘기다. 마지막으로 납작 버튼을 누르면 공간이 선 하나로 찌부러진다. 이건 좀 특별한 경우인데, 이때 행렬식이라는 값이 0이 된다. 변환이 공간을 짜부라뜨렸다는 신호예요. 이 납작해진다는 게 무슨 의미인지는 바로 다음 강인 행렬식에서 파헤친다.

빠른 적용실전에서 행렬을 만나면 숫자표로 읽지 말고 두 열부터 본다. 첫 열은 î가 가는 곳, 둘째 열은 ĵ가 가는 곳이다. 그것만으로 이 변환이 공간을 어떻게 비트는지 머릿속에 그려져요. 그래픽에서 캐릭터를 회전시키든 데이터의 좌표축을 갈아끼우든 다 이 한 동작이다. 그리고 여러 변환을 엮을 때는 곱하는 순서가 곧 적용하는 순서라는 것만 기억하면 행렬곱이 헷갈릴 일이 없어요.
공업수학
이 페이지가 도움 됐다면 후원하기