04. 시대를 앞서간 매트릭스: 구장산술과 연립방정식
1. 학습 목표 (Learning Objectives)
- 모르는 미지수가 $x$ 하나가 아니라 $y$, $z$ 등 여러 개 얽혀 있을 때 사용하는 ‘연립방정식’의 등장 배경을 배웁니다.
- 서양보다 무려 1500년이나 앞서 연립방정식의 풀이법(행렬의 기원)을 완성한 동양의 위대한 수학서 《구장산술》에 담긴 산가지 해법을 감상합니다.
2. 미지수가 하나로는 부족하다!
지금까지 우리는 “어떤 수 $x$에 3을 더하면 7이다”와 같이 치트키 1개($x$)만 들어있는 1차원적인 문제만 풀었습니다. 하지만 인간 사회가 복잡해질수록 농작물의 가격 통계, 세금 계산 등 모르는 변수가 두 개, 세 개로 동시에 튀어나오기 시작했습니다.
“장군님! 시장에서 소 2마리와 양 5마리를 합쳐서 은화 100닢에 팔았고, 옆 상회에서는 소 3마리와 양 2마리를 은화 95닢에 샀다고 합니다.” “으음… 그럼 대체 소 1마리와 양 1마리의 정확한 가격은 각각 얼마란 말이냐?”
이처럼 알고 싶은 미지수가 두 개($x$: 소 가격, $y$: 양 가격)인 조건을 하나로 묶어(연립하여) 풀어야만 하는 강력한 퍼즐이 바로 연립방정식(System of Equations) 입니다. 미지수가 2개면 단서(방정식)도 반드시 2개가 있어야만 정확한 답을 100% 해킹할 수 있습니다.
3. 오리엔트의 승리, 구장산술 (九章算術)
서양 수학의 중심이 기하학(도형)에 치중되어 있을 때, 고대 동양의 한나라 대수학은 실생활 밀착형 ‘계산’ 능력에서 압도적인 우주 최강의 스펙을 보여줬습니다. 특히 지금으로부터 2000년 전 편찬된 동양 최고의 수학책 《구장산술》의 8번째 챕터인 ‘방정(方程)’ 편에는 전 세계 수학자들을 소름 돋게 만든 내용이 기록되어 있습니다.
서양학자들은 종이에 $x, y, z$ 문자를 끄적이며 고생하고 있을 때, 고대 중국과 조선의 수학자들은 ‘산가지(대나무 막대기)’를 땅바닥에 바둑판처럼(Matrix) 직사각형 모양으로 쭉 배열했습니다.
그러고선 위아래 막대기들의 숫자를 통째로 더하고, 빼고, 스왑(교환)하는 무서운 연산을 거침없이 수행했습니다.
소름 포인트: 당시 산가지 막대기를 더하고 빼는 동양의 알고리즘은 현대 선형대수학(Linear Algebra)에서 슈퍼컴퓨터가 연립방정식을 1초에 수백만 개씩 풀 때 쓰는 ‘가우스-조르당 소거법(행렬 연산)’ 알고리즘과 원리가 소름 돋게 100% 똑같았습니다! 서양보다 무려 수천 년이나 알고리즘 로직을 먼저 압축해 놓은 셈입니다.
4. 학습 정리 (Summary)
- 연립방정식 (System of Equations): 2개 이상의 미지수를 포함하는 두 개 이상의 방정식을 한 쌍으로 묶어놓은 시스템입니다. 미지수의 갯수만큼(2개면 2개) 식(단서)이 있어야 풀 수 있습니다.
- 구장산술의 위대함: 2000년 전 동양 수학은 일찌감치 산가지를 배열한 ‘행렬(Matrix)’의 개념을 창안하여, 수십 개의 미지수가 얽힌 연립방정식을 체계적인 더하기/빼기 소거법(현재의 컴퓨터 가우스 소거법)으로 자동 연산해 내고 있었습니다.