행렬은 변환이다
행렬, 처음 보면 그냥 숫자를 네모나게 늘어놓은 표 같죠. 그래서 다들 외우려고만 해요. 근데 그게 평생 헷갈리는 이유예요. 행렬은 표가 아니라 동작이에요. 정확히는, 평면 위 모든 점을 한꺼번에 옮기는 함수예요. 공간을 늘리고, 돌리고, 비스듬히 미는 거죠. 이 그림 하나가 자리잡으면, 행렬곱이 왜 그렇게 정의됐는지도, 고유값이 뭘 보는 건지도 갑자기 쉬워져요. 천천히 따라와 보세요.
먼저 감을 잡아요. 화면에 격자가 깔려 있죠. 슬라이더로 행렬의 숫자를 바꿔보세요. 격자 전체가 같이 휘어지고 늘어나요. 점 하나가 아니라 평면 전체가 통째로 움직이는 거예요. 이게 변환의 정체예요. 행렬 하나가 "이 공간을 이렇게 바꿔라"라는 명령인 거죠. 중요한 건 격자가 제멋대로 구겨지는 게 아니라는 거예요. 직선은 변환 후에도 직선이고, 평행한 선은 변환 후에도 평행하고, 간격도 일정하게 유지돼요. 이렇게 '반듯함을 유지하면서' 공간을 바꾸는 게 행렬 변환이에요.
그럼 이 복잡해 보이는 변환을, 숫자 몇 개로 어떻게 다 적을까요? 비밀은 의외로 단순해요. 딱 두 점만 따라가면 돼요. 오른쪽으로 한 칸 가는 화살표 î, 위로 한 칸 가는 화살표 ĵ. 이 둘이 변환 후에 어디로 가는지만 알면 끝이에요. 그리고 그 '도착한 자리'가 바로 행렬의 두 열이에요. 첫 번째 열은 î가 간 곳, 두 번째 열은 ĵ가 간 곳. 행렬을 보면서 토글을 눌러보세요. 아무 의미 없어 보이던 네 숫자가, 사실은 'î와 ĵ를 여기로 보내라'는 좌표였던 거예요.
"î랑 ĵ만 알아서 뭐 해? 다른 점들은?" 여기가 핵심이에요. 다른 점은 따로 알 필요가 없어요. 평면 위 어떤 벡터든, 결국 î를 몇 개, ĵ를 몇 개 합친 거거든요. 예를 들어 (3, 2)라는 점은 î를 3개, ĵ를 2개 더한 거죠. 그런데 변환은 이 '합친 비율'을 그대로 보존해요. 그래서 변환 후의 (3, 2)는, î가 간 자리를 3개, ĵ가 간 자리를 2개 더한 곳이에요. 벡터를 드래그하면서 확인해 보세요. 이게 바로 선형성이에요. î와 ĵ의 운명만 정하면 나머지 무한히 많은 점은 알아서 따라온다, 이 성질 덕분에 행렬 네 숫자로 공간 전체를 조종할 수 있는 거예요.
변환을 한 번 했는데, 거기다 또 다른 변환을 하고 싶으면요? 예를 들어 먼저 회전시키고, 그다음 잡아 늘이고. 이때 두 행렬을 곱하면 돼요. 그러니까 행렬곱은 사실 '변환을 잇따라 한다'는 뜻이에요. 학교에서 행과 열을 요상하게 곱하라고 배웠죠? 그 이상한 규칙이 바로 '변환을 차례로 적용한 결과'를 계산하는 거예요. 그래서 순서가 중요해요. 회전하고 늘이는 거랑, 늘이고 회전하는 건 결과가 다르거든요. 두 변환의 순서를 바꿔보세요. 그림이 달라지죠. AB랑 BA가 다른 게, 외울 규칙이 아니라 당연한 얘기였던 거예요.
이제 몇 가지 대표 변환을 구경해요. 회전, 확대, 전단(비스듬히 밀기), 반사. 버튼을 눌러보면, 각각이 행렬 하나에 대응한다는 게 보여요. 우리가 아는 모든 '공간을 바꾸는 동작'이 결국 행렬이라는 거죠. 마지막으로 '납작' 버튼을 눌러보세요. 공간이 선 하나로 찌부러져요. 이건 좀 특별한 경우인데, 이때 행렬식이라는 값이 0이 돼요. 변환이 공간을 짜부라뜨렸다는 신호죠. 이 '납작해진다'는 게 무슨 의미인지는 바로 다음 강(행렬식)에서 파헤쳐요.