How a number breaks — and the message it leaves behind.
자연수 하나를 더 작은 자연수들의 합으로 쪼개는 방법은 몇 가지일까요? 이 단순한 물음의 답 \(p(n)\)은 \(n\)이 커지면 폭발하듯 늘어납니다. 그런데 그 잔해 속에 — 홀수 조각의 수가 서로 다른 조각의 수와 몰래 같고, 라마누잔이 읽어낸 "5로 나누어떨어진다"는 다잉 메세지가 — 숨어 있습니다. 조각난 수가 남긴 단서를 따라가 봅니다.
분할(partition)이란 자연수 \(n\)을 순서를 무시하고 자연수들의 합으로 쓰는 방법입니다. 예를 들어 \(4\)는
이 개수를 분할수 \(p(n)\)이라 부릅니다. \(p(0)=1\)(빈 합)로 약속하면, 처음 몇 개는
$$ p(n):\ 1,\ 1,\ 2,\ 3,\ 5,\ 7,\ 11,\ 15,\ 22,\ 30,\ 42,\ 56,\ 77,\ \dots\quad(n=0,1,2,\dots) $$각 분할은 점을 줄줄이 쌓은 페러스 다이어그램으로 그릴 수 있어요(큰 조각부터 위에서 아래로 한 줄씩). 아래에서 \(n\)을 바꿔, 한 수가 깨지는 모든 방식을 직접 보세요.
페러스 다이어그램에는 공짜 마술이 숨어 있어요. 점 그림을 대각선으로 뒤집으면(행과 열을 맞바꾸면) 또 다른 분할이 됩니다. 이걸 원래 분할 \(\lambda\)의 켤레 \(\lambda'\)라 불러요. 뒤집기 한 번으로 정리가 공짜로 떨어집니다 — \(\lambda\)의 조각 개수는 \(\lambda'\)의 가장 큰 조각과 같으니까:
뒤집어도 그대로인 자기켤레 분할(대각선 대칭)은 정체를 하나 숨기고 있습니다. 대각선 칸마다 갈고리(ㄱ자: 오른쪽 팔 + 아래 다리)를 떼면, 대칭이라 팔과 다리 길이가 같아 갈고리 길이가 늘 홀수(\(=2\cdot\)팔\(+1\))이고, 안으로 갈수록 짧아져 서로 다릅니다:
분할수를 다루는 가장 강력한 연장이 생성함수입니다. 아이디어는 단순해요 — 수열 \((a_0,a_1,a_2,\dots)\) 전체를 한 줄에 꿰어 하나의 식으로 만드는 겁니다:
$$ A(x)\;=\;a_0+a_1x+a_2x^2+a_3x^3+\cdots\;=\;\sum_{n\ge0}a_n x^n. $$여기서 \(x\)는 값을 대입할 변수가 아니라 자리표시용 옷걸이예요(수렴은 신경 쓰지 않습니다). \(x^n\)의 계수를 읽으면 \(a_n\)이 튀어나오죠. 생성함수가 강력한 이유는 곱셈에 있습니다. 두 생성함수를 곱하면 계수가 합성곱으로 섞여요:
$$ [x^n]\,A(x)B(x)\;=\;\sum_{k=0}^{n}a_k\,b_{n-k}. $$가장 기본이 되는 한 조각이 등비급수입니다 — "\(k\)짜리 조각을 몇 개 쓸까"를 통째로 담죠:
$$ \frac{1}{1-x^k}\;=\;1+x^k+x^{2k}+x^{3k}+\cdots\qquad(\text{0개, 1개, 2개, }\dots\text{ 의 } k). $$이 한 줄이 다음 장에서 분할수의 비밀을 통째로 풀어 줍니다.
분할 하나를 만드는 일은 "크기 \(k\)짜리 조각을 몇 개 넣을까"를 각 \(k\)마다 따로따로 정하는 일입니다. 크기 \(k\)를 \(m\)개 넣으면 합에 \(mk\)를 보태죠 — 그게 바로 \(x^{mk}\). 그러니 크기 \(k\) 담당 옷걸이는 \(1+x^k+x^{2k}+\cdots=\frac1{1-x^k}\). 모든 \(k\)에 대해 곱하면 분할수의 생성함수가 떨어집니다:
곱을 전개해 \(x^n\)의 계수를 모으는 일이 곧 \(n\)을 조각내는 모든 방식을 세는 일과 정확히 같습니다. 아래에서 앞쪽 \(K\)개 인수만 곱해 보세요 — \(n\le K\)인 계수는 이미 \(p(n)\)과 똑같이 자리 잡습니다.
모든 페러스 다이어그램에는 좌상단에 꼭 맞게 들어가는 가장 큰 정사각형이 있습니다 — 한 변이 \(d\)인 더피 정사각형이죠(\(\lambda_d\ge d\)인 최대 \(d\)). 이 정사각형으로 다이어그램을 세 조각으로 자르면 — 정사각형, 그 오른쪽(행이 \(\le d\)개인 분할), 그 아래(조각이 모두 \(\le d\)인 분할) — 분할수의 또 다른 생성함수가 나옵니다:
\(x^{d^2}\)는 정사각형의 \(d^2\)칸, 분모의 두 \((1-x)\cdots(1-x^d)\)는 각각 오른쪽과 아래 조각을 담죠(둘 다 "조각이 \(\le d\)개"인 분할의 생성함수, 켤레로 보면 같은 모양). 아래에서 더피 정사각형이 어떻게 잡히는지 보세요.
이제 첫 번째 다잉 메세지입니다. 두 가지 전혀 달라 보이는 셈을 비교해 보죠.
생성함수로 보면 한 줄로 증명됩니다. 서로 다른 분할은 각 조각을 0번 또는 1번 쓰니 옷걸이가 \((1+x^k)\), 홀수 분할은 홀수 \(k\)에 대해서만 \(\frac1{1-x^k}\)이죠. 그런데:
\(1+x^k=\dfrac{1-x^{2k}}{1-x^k}\)를 모든 \(k\)에 대해 곱하면
\[ \prod_{k\ge1}(1+x^k)\;=\;\prod_{k\ge1}\frac{1-x^{2k}}{1-x^k}\;=\;\frac{\prod_{k\ge1}(1-x^{2k})}{\prod_{k\ge1}(1-x^k)}. \]분자 \(\prod(1-x^{2k})\)는 분모 \(\prod(1-x^k)\)에서 짝수 번호 인수들 그 자체예요. 깨끗이 약분되어 홀수 번호 인수만 분모에 남습니다:
\[ \prod_{k\ge1}(1+x^k)\;=\;\prod_{k\ \text{홀수}}\frac{1}{1-x^k}. \]왼쪽은 서로 다른 분할의 생성함수, 오른쪽은 홀수 분할의 생성함수. 두 수열이 같으니 — 셈도 같습니다. \(\blacksquare\)
오일러의 "홀수=서로 다른"은 사실 \(d=2\)인 특수한 경우예요. 글레이셔(1883)는 이걸 통째로 일반화했습니다:
증명도 약분 그대로입니다 — \(\prod_{d\nmid k}\frac1{1-x^k}=\prod_{k\ge1}\frac{1-x^{dk}}{1-x^k}=\prod_{k\ge1}(1+x^k+\cdots+x^{(d-1)k})\), 맨 오른쪽이 "각 조각을 \(0\sim d{-}1\)번"의 생성함수죠. \(d=2\)면 홀수=서로 다른으로 되돌아옵니다. 아래에서 \(d\)를 바꿔 보세요.
5장의 더피, 8장의 라마누잔 증명이 모두 한 무한곱 \(\prod(1-x^n)\)에 기대고 있었죠. 이 곱을 전개하면 거의 모든 계수가 \(0\)이고, \(\pm1\)이 오각수 자리에만 띄엄띄엄 나타납니다 — 오일러의 오각수 정리입니다:
왜 하필 오각수일까요? \(\prod(1-x^n)\)을 전개하면 각 항은 서로 다른 조각으로의 분할이고, 부호는 조각 개수의 홀짝 \((-1)^{(\text{조각 수})}\)입니다. 그러니 \(x^n\)의 계수는 "서로 다른 분할 중 (짝수 조각 개수)\(-\)(홀수 조각 개수)"예요. 프랭클린(1881)은 이 둘을 거의 완벽하게 짝지어 소거하는 손맛 좋은 대응을 찾았습니다.
서로 다른 분할에서 가장 작은 조각의 크기를 \(s\), 오른쪽 위 비스듬한 모서리(가장 큰 조각부터 연속으로 \(1\)씩 줄어드는 칸들)의 길이를 \(t\)라 하자. 두 가지 수를 비교해 한쪽을 옮긴다:
이 조작은 되돌릴 수 있고(자기 자신을 짝으로 갖는 대합), 조각 수의 홀짝을 한 번 뒤집습니다. 그러니 짝수 조각과 홀수 조각이 일대일로 짝지어 소거돼요. 단 — 작은 줄과 모서리가 겹쳐서 옮길 수 없는 모양만 살아남는데, 그게 정확히 \(k(3k\mp1)/2\)개 칸의 오각수 모양이고 부호 \((-1)^k\)로 남습니다. \(\blacksquare\)
분할수 표를 5개씩 끊어 늘어놓고 \(5\)로 나눈 나머지를 적으면, 누군가 남긴 암호처럼 한 줄이 통째로 0으로 깔립니다. \(p(4)=5,\ p(9)=30,\ p(14)=135,\ p(19)=490\dots\) — \(n\)이 \(4,9,14,19,\dots\)일 때마다 \(p(n)\)이 어김없이 \(5\)의 배수예요. 1919년 라마누잔이 읽어낸 합동식입니다.
아래에서 직접 보세요 — 법(\(5\)·\(7\)·\(11\))을 고르면 그 줄에 맞춰 0의 띠가 곧게 나타납니다.
이 "암호"가 왜 참인지, 모듈러 형식 같은 무거운 도구 없이 풀 수 있습니다. 두 가지 준비물만 있으면 돼요.
① 신입생의 꿈 (mod 5). \((1-x)^5\equiv1-x^5\pmod5\)이므로 \(\prod_n(1-x^n)^5\equiv\prod_n(1-x^{5n})\pmod5\). 이걸 분할 생성함수에 끼우면
\[ \sum p(n)x^n=\frac{1}{\prod(1-x^n)}=\frac{\prod(1-x^n)^4}{\prod(1-x^n)^5}\equiv\frac{\prod(1-x^n)^4}{\prod(1-x^{5n})}\pmod5. \]② 지수 거르기. 오른쪽 분모 \(1/\prod(1-x^{5n})\)에는 \(x^{5k}\) 꼴(지수가 \(5\)의 배수)만 들어 있습니다. 그러니 지수가 \(\equiv4\pmod5\)인 \(p(5n{+}4)\)는 오직 \(\prod(1-x^n)^4\)에서 지수 \(\equiv4\pmod5\)인 항에서만 옵니다:
\[ p(5n{+}4)\;\equiv\;[\,x^{5n+4}\,]\ \textstyle\prod_{m\ge1}(1-x^m)^4 \pmod 5. \]③ 두 고전 항등식. 7장의 오각수 정리와 야코비의 항등식으로 \(\prod(1-x^m)^4=\prod(1-x^m)\cdot\prod(1-x^m)^3\)을 펼치면
\[ \Big(\sum_{i}(-1)^i x^{\frac{i(3i-1)}{2}}\Big)\Big(\sum_{j\ge0}(-1)^j(2j{+}1)\,x^{\frac{j(j+1)}{2}}\Big), \]각 항의 지수는 오각수 \(\tfrac{i(3i-1)}2\) + 삼각수 \(\tfrac{j(j+1)}2\), 계수는 \(\pm(2j{+}1)\)이에요.
④ 결정타 (mod 5). 오각수를 \(5\)로 나눈 나머지는 \(\{0,1,2\}\)뿐, 삼각수는 \(\{0,1,3\}\)뿐입니다(직접 확인됩니다). 둘의 합이 \(\equiv4\pmod5\)가 되는 경우는 오각수 \(\equiv1\), 삼각수 \(\equiv3\) 단 하나예요. 그런데 삼각수 \(\tfrac{j(j+1)}2\equiv3\pmod5\)는 \(j\equiv2\pmod5\)일 때뿐이고, 그러면 \(2j{+}1\equiv0\pmod5\)! 살아남는 모든 항의 계수 \((2j{+}1)\)이 죄다 \(5\)의 배수라, 지수 \(\equiv4\)인 계수의 합도 \(5\)의 배수. 따라서 \(p(5n{+}4)\equiv0\pmod5\). \(\blacksquare\)
마지막으로, 분할론에서 가장 신비롭다는 한 쌍의 항등식. 조건이 전혀 달라 보이는 두 분할의 수가 또 같습니다 — 게다가 여기서도 \(\bmod 5\)가 튀어나와요.
예컨대 \(9\)는 — "차이 \(\ge2\)" 쪽이 \(9,\ 8{+}1,\ 7{+}2,\ 6{+}3,\ 5{+}3{+}1\)로 다섯 가지, "\(1,4\bmod5\)" 쪽도 \(9,\ 6{+}1{+}1{+}1,\ 4{+}4{+}1,\ 4{+}1^5,\ 1^9\)로 다섯 가지. 생성함수로 쓰면 그 유명한
\[ \sum_{k\ge0}\frac{x^{k^2}}{(1-x)(1-x^2)\cdots(1-x^k)}=\prod_{k\ge0}\frac{1}{(1-x^{5k+1})(1-x^{5k+4})} \]인데, 양변이 같다는 건 결코 자명하지 않습니다(왼쪽은 "차이 \(\ge2\)", 오른쪽은 "\(1,4\bmod5\)"의 생성함수). 오일러의 약분 같은 손쉬운 길이 없고, 일대일 대응(가르시아–밀른)은 악명 높게 어렵죠. 그래도 답은 늘 같습니다 — 아래에서 세어 보세요.
지금까지는 \(3{+}1\)과 \(1{+}3\)을 같은 것으로 셌습니다(분할). 그런데 순서를 구분하면 — \(3{+}1\neq1{+}3\) — 그건 합성(composition)이에요. 박을 쪼개는 리듬이 바로 이거죠. \(n\)의 합성 개수가 깔끔하게 \(2^{n-1}\)이고, 그 "돌과 칸막이" 대응은 리듬 페이지에서 직접 만져 볼 수 있습니다. 여기선 같은 이야기를 생성함수로 합니다.
분할의 생성함수는 "크기별로 몇 개"를 정하는 곱이었죠. 합성은 순서가 있으니 부분들을 수열로 이어 붙입니다. 부분 하나의 옷걸이는 \(x+x^2+\cdots=\frac{x}{1-x}\), 그걸 \(k\)개 이으면 \(\big(\frac{x}{1-x}\big)^k\), 길이를 다 더하면:
같은 벽돌(부분)인데 조립법이 다릅니다 — 분할은 곱(순서 없음), 합성은 수열(순서 있음). 그 작은 차이가 한쪽은 닫힌 공식 \(2^{n-1}\), 다른 쪽은 닫힌 공식이 없는 \(p(n)\)으로 운명을 갈라 놓죠.
아래에서 부분 집합을 바꾸며, 합성의 수가 \(2^{n-1}\)에서 피보나치로 옮겨 가는 걸 직접 세어 보세요.
"수를 합으로 쪼갠다"는 초등학생도 아는 장난에서 출발해, 우리는 다이어그램을 뒤집고(켤레) 잘랐고(더피), 생성함수라는 망원경으로 무한 곱을 들여다봤고, 홀수 조각이 서로 다른 조각과 몰래 같은 수임을 약분 한 번으로(그리고 글레이셔로 일반화해) 봤으며, 프랭클린의 소거로 오각수가 어디서 오는지 밝히고, 라마누잔이 표에서 읽어낸 5로 나누어떨어짐을 오각수와 삼각수의 나머지만으로 증명했습니다. 마지막엔 순서를 매기는 것만으로 합성이 되어, 같은 벽돌이 곱 대신 수열로 조립되며 \(2^{n-1}\)과 피보나치로 갈라지는 것까지 봤죠.
분할은 여기서 멈추지 않아요 — 영 다이어그램은 대칭군의 표현론으로, 오각수 정리는 모듈러 형식으로, 합동식은 \(q\)-급수의 깊은 세계로 이어집니다. 조각난 수가 남긴 다잉 메세지는, 읽으면 읽을수록 더 긴 문장이 되는 셈이죠.