요약
복소수는 수직선을 평면으로 넓힌 수이고, 곱셈은 회전과 확대로 그려 볼 수 있습니다.
서브스택 'Photon-Lines'를 쓰는 닉 M이 그림과 역사로 복소수를 풀어낸 입문 글입니다. 복소수가 억지로 만든 추상 개념이 아니라 실제 방정식을 풀다가 필요해서 생겼다는 점을 보여 주려 했습니다.
왜 중요한가
- 허수를 '상상 속의 수'가 아니라 평면 위의 점으로 보게 해서 처음 배우는 사람의 거부감을 줄여 줍니다.
- 와이파이와 5G, MP3·JPEG 압축, 드론 제어 같은 기술이 복소수 계산 위에 서 있다는 점을 짚습니다.
핵심 내용
- i를 곱하는 것은 시계 반대 방향으로 90도 돌리는 일입니다. 두 번 돌리면 180도가 되므로 i²=-1입니다.
- 극형식(길이와 각도로 나타낸 꼴)으로 쓰면 곱셈은 길이끼리 곱하고 각도끼리 더하는 일이 됩니다.
- 복소수의 n제곱근은 원 위에 같은 간격으로 놓여 정다각형을 이룬다고 8의 세제곱근으로 보여 줍니다.
- 1545년 카르다노가 삼차방정식을 풀다 음수의 제곱근을 만났고, 데카르트는 이를 깎아내려 '허수'라고 불렀습니다.
- 오일러가 기호 i를 도입했고, 1800년 무렵 아르강과 베셀이 따로따로 복소평면 모형을 만들었습니다.
HN 반응
- '허수'라는 이름이 오해를 부른다는 의견이 많았지만, 35년 차 수학 교사는 기초 대수 준비 부족이 진짜 문제라고 반박했습니다.
- 그림보다 대수식이 먼저 나오고 지수 표현도 빠졌다며 AI가 쓴 글 같다는 비판에, 작성자는 직접 썼고 일부만 AI 도움을 받았다고 답했습니다.
학교에서 복소수를 처음 배웠을 때는 이게 왜 필요한지, 왜 허수(imaginary) 같은 이름으로 부르는지 도무지 이해가 안 됐습니다.
어디에 쓰이는지 찾아보니 전류나 자기 같은 예가 나왔습니다. 그런데 전기는 측정할 수 있는 물리량인데 거기에 어떻게 허수를 쓸 수 있는지 이해할 수 없었습니다.
그래서 인터넷을 검색하다가 Stack Exchange 답변 하나를 찾았습니다. 복소(complex)라는 말은 어렵게 들리고 허수(imaginary)라는 말은 실용적으로 쓸모없게 들리는데, 이 개념에 더 나은 이름이 붙었다면 초심자가 훨씬 직관적으로 이해하기 쉬웠을 거라는 이야기였습니다.
제 경우에는 전적으로 맞는 말이었습니다.
Godot 덕분에 회전과 이동에 쓰이는 벡터를 익히고, 그다음 행렬 등을 배우고 나니, 이제는 "복소"수 같은 것이 값 하나(스칼라)로는 모자랄 때 여러 개의 수로 데이터를 표현하는 방식이라고 느껴집니다. 엄밀한 수학 용어로는 틀릴 수도 있지만, 적어도 저는 그렇게 해서 이해할 수 있었습니다.
'허수(Imaginary)'는 잘못 붙은 이름이에요. 직교하는 축 위에 놓이니까 사실은 직교수(Orthogonal Numbers)라고 불러야 해요.
애초에 "수"라고 부르지 않았다면 더 명확했을 거라고 생각합니다.
예를 들어 행렬[1]을 보세요. 행렬이 "실재"하는지 아닌지 묻는 사람은 없습니다. 수의 배열에 대해 정의된 연산이 있고, 그게 어느 정도 쓸모가 있다는 걸 그냥 알고 있을 뿐이죠.
복소수가 그냥 "컴플렉스(complexes)"라고만 불렸다면 많은 혼란이 저절로 사라졌을 겁니다.
또 흥미롭게도 쿼터니언(quaternion)과 옥토니언(octonion)은 "수"라고 불리지 않습니다.
[1] 물론 복소수를 특수한 종류의 행렬로 볼 수도 있지만, 지금 하려는 얘기와는 상관없습니다.
아니요, 복소수도 수로 볼 수 있습니다.
무엇을 수로 칠지는 따져볼 여지가 있겠지요. 하지만 -1은 수인데도 두 부분, 즉 자연수와 부호로 이루어져 있습니다. Sqrt(2)도 수지만 정확하게 적어 낼 수 없고 대수적인 표현이 필요합니다.
일반적으로 "수"라는 말은 우리가 자연수(우리가 직관적으로 수라고 이해하는 것)와 연관 짓는 몇 가지 개념, 이를테면 순서, 덧셈, 영의 개념 같은 것을 갖는 수학적 대상에 쓰는 것 같습니다. 복소수는 이걸 전부 갖고 있지는 않지만, 수라고 부를 만큼은 갖추고 있습니다.
이렇게도 생각할 수 있습니다. 자연수가 아닌 수는 대부분 자연수에 대한 기본 연산의 결과 중 자연수가 아닌 것을 표현하려고 생겨났습니다. 그런 결과에 다시 연산을 가하면 자연수가 나오는 경우도 있었습니다. 하지만 이런 결과에 새 수를 만들어 주지 않으면 쉽게 표현할 수 없었고, 수학 체계에 구멍이 생겼습니다. 실제로 수학의 많은 진전이 이런 수를 인정하지 않아서 가로막혀 있었고, 인정하고 나서야 진전이 따라왔습니다. 그리고 이것들을 수라고 부르는 이유는 자연수에 대한 기본적인 대수 연산에서 생겨나기 때문입니다.
그래도 복소수는 분명히 수예요. 여러 면에서 실수보다 더 좋은 수이기도 하고요.
안 그래도 complex라는 단어는 이미 너무 많이 쓰이잖아요. 셀(cellular) 복합체, 단체(simplicial) 복합체, 사슬(chain) 복합체 등등.
"다이터니언(diternions)"이라고 부르자고요.
스티븐 펨버턴(Steven Pemberton)이 쓴 이 책을 특히 좋아합니다. https://homepages.cwi.nl/~steven/Numbers.pdf
고등학교 때는 허수가 전혀 이해되지 않았습니다. 그런데 이 책은 차근차근 쌓아 올려서 결론이 아주 직관적으로 느껴지게 해 줍니다. 강력 추천합니다!
이 글은 복소수의 가장 유용하고 깊은 표현 가운데 하나인 극좌표를 빠뜨렸습니다. 각도가 곱할 때 더해진다는 얘기가 조금 나오긴 하는데, 극좌표 표기에서는 이게 "당연한" 일이 됩니다.
복소수는 직교좌표로 (x,y) 또는 x+yi로 나타낼 수 있고, 극좌표로는 (r,theta)로 나타낼 수 있습니다. 이에 해당하는 복소수 표기는 무엇일까요? 놀랍게도 r*e^(i theta)입니다. 이때 각도는 라디안으로 잰 값입니다. 거기에 지수가 나오는 게 정말 이상해 보일 수 있지만, 지수함수는 허수 지수를 받으면 삼각함수처럼 행동합니다. 정확히는 e^(i theta) = cos theta + i sin theta입니다.
이제 곱셈이 쉬워집니다. 극좌표 표기의 복소수 두 개 (r1,t1) x (r2,t2)를 곱하면, 지수 계산의 일반 규칙에 따라 r1r2 e^(i (t1+t2))가 나옵니다. 즉 (r1r1, t1+t2)입니다.
복소 지수함수는 우리가 초등학교 때 배운 지수에 익숙하다 보니 처음에는 아주 낯선 표기로 보이지만, 각도를 받아 단위원 위의 한 점을 내놓는 함수라고 생각하면 됩니다. 연속적인 입력을 넣으면 호나 원을 그립니다. sin과 cos은 이 함수를 1차원에 투영한 것일 뿐입니다.
주파수는 간단히 e^(i ft)가 됩니다. 여기서 f는 라디안 단위의 주파수, t는 시간이며, 한 점이 일정한 속도로 원 위를 질주하는 모습을 나타냅니다. 서로 다른 (복소) 주파수를 가진 두 신호를 곱하면 두 주파수의 합을 주파수로 갖는 새 신호가 나옵니다. 이 표기에서는 복소 신호가 이해하기 쉬운 단순한 쪽이고, 실신호가 "더 복잡한" 쪽입니다. 모든 실신호는 복소 신호에 그 켤레를 더한 것이기 때문입니다.
이 "시각적 입문"은 빠뜨린 게 많은 데다, 복소수를 시각 자료 하나 없이 대수적으로 소개하느라 지면의 절반을 낭비해요. LLM 슬롭이라서 그래요.
"시각적 입문"이라면서 뫼비우스 변환[1]도, 리만 곡면[2]도, 복소함수를 시각화하는 그 아름답고 알록달록한 방법들[3]도 언급조차 안 하고, 또...
...뭐, 그냥 게으른 LLM 슬롭이에요.
평균적인 고등학교 입문 수업보다는 낫냐고요?
안타깝게도 낫긴 해요. 하지만 기준선이 워낙 낮죠.
[1] https://www.youtube.com/watch?v=0z1fIsUNhO4
[2] https://www.youtube.com/watch?v=Ax5wbKsPBqA
[3] https://www.youtube.com/watch?v=NtoIXhUgqSk
이 스레드에서 이게 "LLM 슬롭"이라고 여러 번 단언하셨는데요. 인터넷에서 수학 콘텐츠를 꽤 읽어 본 사람으로서 저는 그다지 동의가 안 돼서, 왜 LLM 슬롭이라고 생각하시는지 듣고 싶습니다.
우선 이 글은 수식 렌더링이 (매력적일 만큼?) 형편없습니다. 인터넷에서 아무 수식 그림이나 복사해 붙이고 워드 수식 편집기 같은 걸로 보충한 사람의 글 같은 느낌이 강합니다. LLM이었다면 그냥 LaTeX를 잔뜩 쏟아내고 끝냈을 겁니다. 또 LLM 글쓰기를 연상시키는 흔한 문체상의 버릇도 느껴지지 않습니다. 이 두 가지가 결정적인 증거라고 주장하지는 않지만, 제 느낌에는 대부분 손으로 쓴 글이고 아주 입문 수준을 겨냥한 글입니다(즉 리만 곡면을 아는 게 도움이 될 만한 수준은 아니라는 거죠).
AI 슬롭이 아닙니다. 제가 썼고, 쓰는 데 꽤 오랜 시간이 걸렸습니다. 일부 구성 요소에는 AI의 도움을 받았고, 말씀하신 대로 (대부분 제가 직접 만든) 이미지를 복사해 붙여서 개념을 더 잘 소개해 보려고 했습니다. 다만 거의 무엇에든 비판하는 사람은 늘 있기 마련이라서, 포럼에 올라오는 글은 대부분 가려서 받아들이는 편입니다. 결국 이 전선 너머에는 (대체로) 우리 인간이 있고, 서로 소통하고 남을 도우려 애쓰고 있다는 걸 기억하면 좋겠습니다. 이 글이 몇몇 분께는 개념을 이해하는 데 도움이 되었기를 바랍니다. 허수를 다시 접할 기회가 있었다면 저에게 더 도움이 되었을 방식으로 쓰려고 했습니다. 이 글에 넣은 개념 중 상당수는 제가 처음 접할 때 배우지 못한 것들이고, 배웠다면 좋았을 거라고 생각했습니다.
...티가 나네요.
제가 말씀드릴 수 있는 건, 그 때문에 글이 상당히 나빠졌다는 것뿐이에요.
알겠습니다. 어쨌든 피드백 감사합니다. 다음 글을 쓸 때 염두에 두겠습니다.
저는 인터넷에서도, 인터넷 밖에서도 수학 콘텐츠를 꽤 써 봤어요.
보세요: https://romankogan.net/math
문장 하나하나 분석까지 해 볼까요?
이유 하나는 이미 말씀드렸어요. "시각적 입문"이라는 제목의 글에 시각 자료가 없고, 복소수 소개가 그림 하나 없이 순전히 대수적이라는 점이요.
수는 대수적으로 소개되고, 독자가 이미 헷갈린 뒤에야 시각적으로 설명돼요. 이미 복소수를 충분히 아는 사람이 아니면 여기서 얻을 게 없는데, 그렇다면 애초에 입문이 아니죠.
저자가 직접 "일부 구성 요소에는 AI의 도움을 받았다"고 했으니, AI 슬롭이냐 아니냐는 이걸로 결론이 났길 바랍니다.
인터랙티브하게 접근해 보려고 예전에 이걸 만들어 뒀어요. 1
복소평면 위에 복소수를 놓고 드래그 앤 드롭으로 덧셈, 곱셈, 거듭제곱을 해 볼 수 있어요. 덧셈은 평행이동, 곱셈은 확대·회전이라는 직관을 얻는 데 도움이 돼요.
그런데 복소수를 a+bi로 표현할 때 거기 있는 '+'는 무슨 뜻이에요? 아르강 도표에서 수는 좌표잖아요. 왜 좌표를 더하죠?
더 근본적으로, 덧셈과 곱셈이란 뭘까요? 둘 사이에 연속성이 있어서, 덧셈과 곱셈이 중간쯤에서 만나는, 둘을 모두 나타내는 연산자 같은 게 있을까요?
제곱과 제곱근은 어떤 의미가 있죠? 그냥 지수 값(2, 1/2)일 뿐이고 실수선 위에서는 특별한 의미가 없지 않나요? 허수가 제곱근(지수 0.5)과 엮여 있다고 해서 왜 특별한 자리를 차지해야 하죠?
벡터 성분을 나타낼 때도 합을 씁니다. ai + bj + ck(i, j, k 위에 모자가 있다고 가정하세요)라고 써서 벡터 [a b c]를 뜻하는 표기는 흔합니다.
그러니 복소수도 aj + bi라는 벡터로 볼 수 있습니다. 여기서 j와 i는 기저 벡터인데, 복소수에는 곱셈이라는 개념이 있고 그 곱셈에서 j가 1처럼 행동하기 때문에(임의의 복소수 z에 대해 zj = jz = z) j를 "1"이라고 부르는 것입니다.
복소수 a + bi를 전부 벡터나 튜플 [a b]로 적어도 나쁜 일은 일어나지 않습니다. 그저 덜 편할 뿐입니다.
2차원 점은 (3+2)가 아니라 (3,2)로 적잖아요. 왜 그럴까요?
3 + 2는 그냥 5입니다. 하지만 점이나 벡터 (3, 2)를 3i + 2j로 적는 경우도 있습니다. 이때 i는 벡터 (1, 0), j는 벡터 (0, 1)입니다.
그 예에서 3과 2는 서로 다른 차원에 속해요. "3x + 2y"라고 쓰면 x축을 따라 3걸음, y축을 따라 2걸음이라는 뜻을 나타낼 수 있겠죠. 그냥 "3+2"라고 쓰면 5라는 결과를 계산해 낼 수 있으리라 기대하게 되는데, 실제로는 그렇지 않잖아요.
복소수는 (x,y) 표기로도 얼마든지 다룰 수 있어요.
수학자들은 의미가 무엇인지 (수학자에게는) 분명한 경우, 서로 다른 것에 같은 표기를 재사용하곤 합니다. 하지만 그래서 수학자가 아닌 사람은 헷갈릴 수 있습니다.
여기서 더하기는 우리가 "복소수의 합"이라고 부르는 연산이고, 더해지는 수는 a와 bi입니다. 이는 먼저 복소수를 실수 두 개의 순서쌍으로 정의하고, 이 순서쌍에 대한 특정한 덧셈·곱셈 법칙을 정하는 데서 출발해 도달할 수 있습니다. 그러면 (a, b) + (c, d) = (a + b, c + d)이고, 왼쪽의 더하기는 복소수의 덧셈, 오른쪽의 더하기는 실수의 덧셈입니다. 곱셈도 마찬가지로 (a, b) * (c, d) = (ac - bd, bc + ad)입니다.
우리는 (1,0)을 실수 1과, 마찬가지로 (a,0) 꼴의 순서쌍을 실수 a와 같은 것으로 연결 짓습니다. 이렇게 연결 짓기 때문에 실수를 서로 무관한 집합이 아니라 복소수의 부분집합으로 볼 수 있습니다. (a,0) 꼴의 순서쌍 집합이 복소수의 곱셈 법칙 아래에서 실수와 똑같이 행동하고 실수와 일대일로 대응하므로 말이 됩니다. 이 연결은 (a,0)을 a(1,0), 또는 그냥 "a"라고 쓸 때마다 쓰입니다. (0,b)도 b(0,1)로 쓰는데, 곱셈 법칙에 따라 (b,0)(0,1) = (0,b)이기 때문입니다. 그러면 일반적인 순서쌍 (a, b)는 (a,0) + (0,b), 또는 같은 것이라고 했던 대로 a + b(0,1)로 쓸 수 있습니다. 이제 (0,1)만 빼고 모두 간단한 표기를 갖게 됩니다. 곱셈 법칙에 따라 (0,1)(0,1) = -(1,0) = -1이 됩니다. 제곱해서 -1이 되는 복소수를 i라고 씁니다. 이렇게 단순화하면 (a,b)를 a + bi로 쓸 수 있게 됩니다.
저는 이 연산들 사이의 연속성이라는 개념을 알지 못합니다. 추상대수학에서 연산은 대수 구조의 근본입니다. 실수체나 복소수체는 원소, 덧셈이라는 이항 연산, 곱셈이라는 이항 연산, 그리고 이 연산들이 만족하는 법칙으로 정의되는 대수 구조입니다. 예를 들어 둘 다 교환법칙과 결합법칙을 만족하지만, 분배법칙에서 두 연산이 다르다는 게 드러납니다. a*(b+c) = ab + ac이지만 a+bc = (a+b)(a+c)는 아닙니다. 또 a+0 = a이지만 a*1 = a이므로, 두 연산에는 연산을 적용했을 때 다른 원소를 "그대로 두는" 서로 다른 특수 원소가 있습니다. 이 법칙들에 비추어 "중간 지점의 연산자"가 어떤 모습이어야 할지 생각해 보면 흥미로울 수 있습니다.
복소수라는 발상, 그리고 실수에서 복소수를 얻는 과정을 설명하는 더 일반적인 발상인 체의 확대(field extension)는 다항식 연구에서 나왔습니다. 다항식에는 정수 차수의 항만 있을 수 있습니다. 다항식은 좋은 성질을 많이 만족하고, 일반적인 비정수 차수로는 불가능한 꽤 풍부한 수학 구조가 거기서 생겨납니다. x^2 + 1처럼 실수 계수를 가진 2차 다항식은 실근이 없을 수 있는 가장 낮은 차수의 다항식이고, x^2 + 1이 가장 단순한 예입니다. 하지만 x^2 + a 같은 인수가 있다면 다른 어떤 다항식으로도 복소수를 만들어 낼 수 있습니다. 2는 여기서 나옵니다. 실수선의 관점에서는 중요하지 않지만(2는 무한한 실수 중 하나일 뿐입니다) 대수적 관점에서는 중요합니다.
와, 정말 좋은 질문들이네요! 물어봐 주셔서 고맙습니다. 바로 시작해 볼게요!
>그런데 복소수를 a+bi로 표현할 때 거기 있는 '+'는 무슨 뜻인가요?
여기서는 a를 "오른쪽으로 a걸음 이동"을 나타내는 표기로, bi를 "위로 b걸음 이동"으로 생각해 보세요. 체스판에서 폰을 움직이는 것처럼요.
이 연산들은 평행이동입니다. 무언가를 집어서 옮기는 거죠. 명령으로 실행할 수 있어요.
"+"는 이 두 연산의 합성, 즉 하나를 한 뒤에 이어서 다른 하나를 하는 걸 뜻해요.
어떤 순서로요? 상관없어요. 결과는 같으니까요.
"+" 얘기가 나왔으니 "-" 얘기도 해 볼게요.
이 연산들은 가역적이라서, 각각(또는 어떤 조합이든)을 되돌릴 수 있어요.
"3"이 "폰을 오른쪽으로 3걸음 옮겨라"라는 명령이라면, "되돌려라"(즉 왼쪽으로 3걸음 옮겨라)라는 뜻으로 "-3"이라는 표기를 도입할 수 있어요.
그러면 a + -a = 0이 되고, 잉크를 아끼려고 a + (-b) 대신 a - b라고 쓰는 거예요.
bi도 마찬가지여서, -bi는 b걸음 아래로 이동한다는 뜻이에요.
>아르강 도표에서 수는 좌표입니다. 왜 좌표를 더하나요?
폰을 오른쪽으로 3칸, 위로 2칸 옮긴다고 해 봐요.
그다음 다시 오른쪽으로 1칸, 위로 4칸 옮겨요.
그건 오른쪽으로 (3 + 1) = 4칸, 위로 (2 + 4) = 6칸 옮기는 것과 같아요.
앞서 쓴 표기로는 (3 + 2i) + (1 + 4i) = (3 + 1) + (2 + 4)i = 4 + 6i예요.
선형대수를 안다면, 이렇게 되는 이유는 연산 1(오른쪽으로 한 걸음 이동)과 i(오른쪽으로 한 걸음 이동)가 평면 위 평행이동의 벡터 공간에서 기저[1]를 이루기 때문이에요.
더 쉽게 말하면, 이동 연산을 어떤 순서로든 합칠 수 있어서(이건 쉽게 이해할 수 있죠) 다음과 같이 할 수 있기 때문이에요.
각 이동 연산을 "좌/우로 ___만큼, 상/하로 __만큼 이동" 꼴로 적기
좌/우 성분과 상/하 성분을 따로 더하기
>더 근본적으로, 덧셈과 곱셈이란 뭘까요?
여기서는 수를 평행이동 연산자, 즉 "이만큼 움직여라"라는 명령으로 다루고 있어요.
덧셈은 합성, 즉 명령을 차례로 수행하는 것이에요(순서는 상관없는 것으로 밝혀졌죠).
곱셈은, 음, 바로 여기에 이 글의 핵심이 있어요. 정확히는 있어야 했죠.
먼저 "실"수의 곱셈부터 볼게요.
기하학적으로 이 연산은 비례 확대·축소예요. 단위를 다시 정하는 것이라고 생각해도 돼요.
"3"이 "오른쪽으로 3걸음 가라"는 뜻이라고 합의했다고 해 봐요. 그런데 이게 말이 되려면 걸음이 무엇인지 알아야 해요.
체스판의 한 걸음은 한 칸(1)이라고 포고로 정의할 수 있어요. 그러면 "3"은 사실 "3 * 1"(오른쪽으로 1걸음이 3개)을 뜻하는 거예요.
걸음 크기를 바꿔서 수를 확대·축소할 수 있어요. 비례로 기하학적으로 정의하면 이래요.
(a * b)는 (a * b) : b = a : 1을 만족하는 거리예요.
이상해 보일 수도 있지만 유클리드가 했을 방식이 바로 이래요. 이렇게 하면 a와 b를 같은 종류의 양(기하학적 길이)으로 생각할 수 있어서, 길이와 평행이동 연산자(곧 벡터) 같은 기하학적 양과 스칼라, 즉 곱해서 키울 수 있는 양을 구분하지 않아도 되거든요.
덧붙이면, vector는 말 그대로 "운반자"라는 뜻이에요. 벡터 연산(평행이동)이 무언가를 한 곳에서 다른 곳으로 옮기기 때문이죠. 모기는 말라리아의 벡터예요.
확대·축소(곱셈)와 더하기(합성)는 익숙한 방식으로 상호작용해요.
c(a + b) = ca + cb
이건 다룰 차원이 하나뿐인 동안에는 아주 멀쩡하고 좋아요.
차원이 둘이 되면, 먼저 "실"수만 곱하도록 제한할 수 있어요. a를 곱하는 건 모든 걸 a배 키우거나 줄이는 것일 뿐이고, 아무것도 깨뜨리지 않으니까요.
덧셈과 곱셈의 상호작용은 그대로 유지돼요.
실수가 갖고 있던 다른 좋은 성질들도 모두 유지하고 싶다면, 그 쌍(즉 2차원 벡터, 평면 위 평행이동)의 곱셈이 다음과 같은 의미를 갖도록 강제될 거예요.
두 2차원 벡터 u와 v의 곱을 얻으려면, u와 v가 x축과 이루는 각도를 더하고(ADD) 길이를 곱해요(MULTIPLY).
이 연산을 u * v라고 쓰면, 실수에서 통하던 *와 +의 모든 규칙이 그대로 통해요.
본질적으로, 이런 성질을 갖는 2차원 벡터의 곱을 만들어 내는 방법은 이것 말고는 없다는 게 밝혀져요.
그리고 3차원 벡터에는 그런 방법이 아예 없어요. 털공 정리(Hairy Ball Theorem)[5]의 결과죠.
그리고 4차원 벡터는 순서가 상관없다는 성질을 포기해야만 그런 종류의 곱 규칙을 정의할 수 있어요. 실수와 복소수에서는 a * b = b * a지만, 4차원에서는 순서가 중요해요.
그 밖의 차원에서는 쓸 만한 게 정말 아무것도 나오지 않아요.
1, 2, 4차원은 특별하지만, 그중에서도 2차원이 더 특별해요.
덧셈과 곱셈 사이에는 연속성이 있어요.
정수의 곱셈은 한쪽을 "어떤 일을 하는 횟수", 다른 쪽을 "평행이동할 거리"로 보아 정의할 수 있어요.
3 * 5 = (오른쪽으로 3걸음 이동을 5번)
여기서 유리수가 나오고, 완비화로 실수가 나와요.
그래서 실수의 곱셈은 실수의 덧셈에서 연속성에 의해 흘러나와요.
또 다른 연결 고리는 거듭제곱의 곱이 지수의 덧셈이라는 거예요.
a^n * a^m = a^(n + m).
a^n = a * a * a ... * a (n번)
이렇게 거듭제곱을 정의할 수 있어요. 다른 방법도 있지만요. 요점은 실수에서는 덧셈과 곱셈이 본질적으로 떼려야 뗄 수 없다는 거예요. 정수를 길이로도, 개수로도 볼 수 있기 때문이죠(즉 1차원에서는 벡터가 곧 스칼라예요). 그걸 유지하려다 보니 할 수 있는 일에 구조가 아주 많이 얹히는 거예요.
그래도 질문의 진짜 취지에는 이런 답이 어울릴 것 같아요.
복소수의 곱셈은 정확히 "곱셈과 덧셈을 중간 지점에서 만나게 해요". 각도는 더하고 길이는 곱하니까요.
이건 말이죠, 친구, 대수학의 기본정리라고 하는데, 쉽게 알아낸 게 아니었어요. 증명하려다 실패한 시도가 한 줌은 됐어요(모두가 옳다고 인정했다가 나중에 사실은 아니라는 걸 깨달은 증명들이요).
한마디로, 적어도 겉으로는 특별한 의미가 없어요. 실수 해가 없는 어떤 다항 방정식의 근이든 "허수 단위"로 골랐어도 결국 똑같은 복소수 집합을 얻어요. 그 이상은 없고요.
그래도 결국 sqrt(-어떤 수)가 나오게 돼요.
이는 다음의 (자명하지 않은) 사실에서 나와요. x에 대한 실계수 다항식은 어느 것이든 c(x - r_1)(x - r_2) ... (x - r_n) 꼴의 곱으로 쓸 수 있어요. 여기서 c는 실수이고 r_i는 근이에요. 계수가 실수가 되려면 근이 켤레쌍으로 나와야 하므로((a + bi)가 근이면 (a - bi)도 근), (x - (a - bi))(x - (a + bi))를 전개하면 실계수 이차식 x² - 2ax + a² + b²이 나와요.
그래서 어떤 실계수 다항식이든 2차 실계수 다항식들의 곱으로 분해할 수 있어요(차수가 홀수면 (x - [실근]) 항이 하나 남을 수 있는데, 이게 홀수 차수 다항식에는 항상 실근이 있는 또 하나의 이유예요).
실수체를 확장[4]하되 실수를 첨가하면 새로운 건 아무것도 얻지 못해요.
그런데 새로운 걸 얻었다면, 이차 방정식의 근을 첨가한 거예요.
그럼 왜 x^2 + 5 = 0의 근이 아니라 sqrt(-1)일까요? 편의 때문이에요.
(1, sqrt(-1))은 복소평면을 정의하기에 편리한 쌍이에요. 직교 정규 기저[3], 즉 곱셈 규칙이 쉬운 깔끔한 좌표 격자를 이루거든요.
i=sqrt(-1)을 쓰라고 강요하는 사람은 없어요. x^3 - 7 = 0의 비실수 근을 j로 정의해도 돼요. 그걸 통에 던져 넣으면 같은 "복소"수를 얻을 거예요.
하지만 그러면 다루기가 정말 짜증 나게 돼요. 예를 들어 j = sqrt(-3)이면
(a + bj)(c + dj) = (ac - 3bd) + (ad + bc)j
이 덧붙은 3이 성가시죠. 결국 j를 a + b * sqrt(-1) 꼴로 쓸 수도 있고, 그게 더 낫죠. 공식에 "쓸데없는" 상수가 튀어나오지도 않고요.
그래서 그렇게 하는 거예요.
[1] https://en.wikipedia.org/wiki/Basis_(linear_algebra)
[2] https://en.wikipedia.org/wiki/Fundamental_theorem_of_algebra
[3] https://en.wikipedia.org/wiki/Orthonormal_basis
[4] https://en.wikipedia.org/wiki/Field_extension
[5] https://en.wikipedia.org/wiki/Hairy_ball_theorem
[6] https://en.wikipedia.org/wiki/Quaternion
복소수가 "복소"수라고도, "허"수라고도 불리지 않았다면 훨씬 이해하기 쉬운 개념일 거예요. 두 이름 모두 이게 진짜가 아니라고 생각하게 만들어서 소화하기를 훨씬 어렵게 하죠. 사실 이건 2차원 수, 즉 수 하나에 성분이 둘 있는 수예요.
"실"수라는 이름도 마찬가지예요. 수학과 그 후손인 물리학, 컴퓨터 과학은 이름을 너무 귀엽게 지어서 일반인이 이해하거나 받아들이기 어렵게 만들 때가 있어요.
저는 35년 동안 수학을 가르쳤습니다. 내세울 만한 경력은 아니라는 걸 인정하지만, 학생들이 복소수에서 겪는 어려움은 대체로 이름과는 아무 상관이 없다고 장담합니다. 다른 모든 것과 마찬가지로 산수와 기초 대수 준비가 부족해서입니다.
그래도 복소수를 "회전수"라고 불렀다면 적어도 무엇을 하는 건지 단서는 줬을 거예요.
순전히 기하학적으로 다룰 수도 있으니, 산수와 대수 준비가 선행 조건은 아니에요.
맞는 말씀입니다.
다만 복소수는 여러 가지 다른 현상을 모델링하는 데 쓰이는 2차원 수라고 하는 편이 더 온전할 것 같습니다. 그러니 그냥 2차원 수라고만 하면 설명의 일부일 뿐입니다. 제대로 이해하려면 2차원 수라는 개념이 응용 분야에 어떻게 들어맞는지, 그 맥락에서 무엇을 뜻하는지를 생각해야 합니다.
예컨대 복소수는 회전, 진동, 파동 등을 표현하는 우아한 방법이 되어 특정 계산을 훨씬 쉽게 해 줍니다.
하지만 복소수는 모든 비상수 다항식이 근을 갖도록 실수 체계를 확장하는 데도 쓰입니다. 그런 맥락에서 복소수는 2차원 현상을 나타내는 편리한 도구에 그치지 않고, 수학적으로 엄밀한 의미에서 수 체계 자체를 완성하는 데 기여합니다.
그리고 양자역학에서는 복소수가 현실 자체를 수학적으로 기술하는 데 근본적인 역할을 합니다.
가우스도 같은 생각이었어요. 이렇게 말했거든요. "+1, -1, √-1이라고 부르는 수를 양, 음, 허(또는 불가능)의 단위가 아니라 직접(direct), 역(inverse), 횡(lateral) 단위라고 불렀다면, 이런 모호함은 아예 생기지 않았을 것이다."
시각적으로 풀어 주는 복소수 해설에는 제가 각별한 애정이 있어요. 잘 만드셨네요. 13살 때 1을 보고 복소수에 머리를 한 대 맞은 듯한 충격을 받았고, 그게 지금의 진로로 이끌었다고 생각해요.
와. 이 비교적 오래된 온라인 보물을 공유해 주셔서 감사합니다.
여담이지만, 제가 스스로 얼마나 AI에 뇌가 썩었는지(brainrot)를 보여 주는 얘기인데, 그 페이지의 애니메이션과 글이 LLM 코딩 시대보다 한참 앞선 것이라는 데 경외감이 듭니다. 이론 지식, 실용적인 소프트웨어 기술, 시간 관리와 실행 기능 능력까지 모두 갖추고 그런 페이지를 만들어 내는 사람이라는 발상 자체가, 우리 대부분이 점점 더 높은 추상화 수준에서 일하게 될수록 갈수록 드물어질 것처럼 느껴집니다.