수치해석의 역사적 배경과 발전

고대에서의 기원

수치해석의 기원을 정확히 특정하기는 어렵지만, 기하학과 대수학이 발달하던 고대 문명에서부터 그 기틀이 다져졌다고 볼 수 있다. 이집트, 바빌로니아, 중국 등지의 고대 수학자들은 방정식 풀이와 측정 문제를 다루기 위해 여러 근사 기법과 알고리즘을 시도하였다. 예컨대 바빌로니아 점토판에는 다양한 이차방정식 근사 해법의 흔적이 남아 있으며, 이는 수치기법의 초기 형태로 간주된다. 한편 고대 그리스 시대에는 유클리드의 기하학적 방법론과 함께 아르키메데스가 부피나 넓이 계산을 위해 적분과 유사한 방법을 체계화했다. 아르키메데스는 원의 넓이를 측정하기 위해 정다각형 분할 방법을 사용하였고, 이를 통하여 오늘날 적분 근사의 사상이 서서히 배태되기 시작했다.

중세와 근세

서구 중세 시대에는 그리스어와 아랍어로 쓰인 수학 서적의 번역이 이루어지면서, 이슬람 지역의 수학 발전이 유럽 전반에 전파되었다. 특히 9세기부터 15세기에 걸쳐 활동한 수학자들은 알 콰리즈미의 영향을 받아 대수 기법을 확장하고 삼각법과 천문학 계산 문제를 구체화하였으며, 수치 해석적 아이디어도 점차 공고화되었다. 중세 말엽부터 르네상스 시기에 이르러 인쇄술이 발달하면서, 수학적 계산서나 로그 표가 널리 배포되었다. 로그 표의 편찬으로 대표되는 이 시기 기록들은 천문학과 항해술, 기하학 계산을 효율적으로 수행하기 위한 근사 계산법의 기반이 되었다.

르네상스 이후 근세 수학의 발전 과정에서 수치해석은 문제 해법을 좀 더 계산 중심적으로 접근하는 학문적 방향을 제시하기에 이른다. 데카르트와 파스칼은 대수학과 기하학의 융합을 적극 모색하였고, 케플러와 갈릴레이는 천체역학과 물리학 문제 해결을 위해 수학적 근사 기법을 다양하게 적용하였다. 이 시기에 이미 방정식 근사 해법을 위한 사칙연산적 알고리즘이나, 측정 및 곡선 적분을 위한 도형 분할 기법이 활용되고 있었으나, 아직 이를 현대적 의미의 ‘수치해석’이라고 부르기에는 엄밀한 정의나 통일된 이론적 체계가 완성되지 않았다.

근대 수리 해석의 토대 확립

17세기와 18세기에 걸쳐 뉴턴과 라이프니츠가 미적분학을 독자적으로 정립하며, 연속적인 물리 현상을 다루는 데 있어 미분과 적분의 개념이 수학의 핵심 요소로 자리 잡는다. 이때 탄생한 여러 정리는 해석학(Analysis)의 기초가 되었다. 미적분학의 등장으로, 고전 방정식 풀이와 차원 해석뿐 아니라 다양한 미분방정식과 적분 문제를 다룰 수 있는 수리적 틀이 마련되었다. 미분방정식 해법은 대체로 해석적 풀이에 주력하였으나, 구체적 현장에서 접하는 많은 문제들은 정확한 해답을 얻기 어려워 근사해법에 의존할 수밖에 없었다. 이로 인해 근사적 접근의 정당성 및 오차 분석에 대한 학문적 수요가 크게 높아진다.

뉴턴은 이 시기에 이미 근사 해법 중 하나인 뉴턴 방법(Newton’s method)을 제안하여, 방정식의 근사를 찾는 매우 효율적인 알고리즘을 선보였다. 이 기법은 고차방정식을 직접적으로 풀기 어려울 때, 적절한 초기값을 통해 반복적으로 수렴하는 해를 구하는 것이 핵심이다. 예컨대 실수 변수를 하나 가지는 방정식 $f(x) = 0$의 근사를 구하려고 할 때, 뉴턴 방법의 점화식은

xk+1=xkf(xk)f(xk)x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)}

형태로 제시된다. 이 반복법은 적절한 조건에서 매우 빠른 수렴 특성을 가지며, 근대 수치해석 기법 중 가장 알려진 방법 중 하나이다.

라이프니츠 역시 미분과 적분을 대수적 기호로 다루며 해석학 전반의 체계를 정립하였고, 오일러는 미분방정식의 풀이, 무한급수의 수렴 해석, 오차율 분석 등 다양한 측면에서 수치 해석적 기초 연구를 더욱 심화하였다. 오일러의 저작에는 급수 전개를 이용한 근사값 계산이나 수렴 반경에 대한 논의가 적극적으로 이루어져 있으며, 오늘날 베르누이 수나 감마 함수 등으로 알려진 개념들도 수치적 계산 맥락에서 언급된다. 이어서 가우스, 라그랑주, 라플라스 등 18~19세기에 활약했던 수학자들은 정수론이나 확률론뿐 아니라, 곡면의 측정과 행성 궤도 계산을 위한 근사해법에서도 높은 완성도를 보였다. 이들은 관측 데이터를 통해 실제 물리 세계를 해석하고, 그 결과를 다시 이론에 반영하는 과정을 반복하며 점차 정교한 알고리즘과 오차 분석 방법을 정립하였다.

가령 가우스는 최소제곱법(Least Squares Method)을 고안하여, 관측값에 내재한 오차로부터 진정한 값의 근사를 추정하는 수치 방법론을 세웠다. 이는 측정오차가 유의미하게 존재하는 실험·관측 데이터가 포함된 문제에서 가우스-마르코프 정리와 같은 통계적 이론과 결합하여 매우 강력한 해석 도구로 기능한다. 한편 푸리에는 푸리에 급수(Fourier series)를 통해 주기함수를 간단한 삼각함수들의 무한합으로 표현하는 아이디어를 제안하여, 다양한 편미분방정식 문제에 대한 수치적 접근을 용이하게 하였다.

이처럼 17세기부터 19세기 말까지의 시기는 미적분학과 고등해석학이 자리 잡으면서 수치해석 기법이 보다 정교해지고, 그 중요성이 더욱 부각되는 단계였다. 그러나 이 시기까지는 계산 도구가 여전히 제한적이었으므로, 방대한 계산이 필요한 문제들을 전개하기 위한 주체는 주로 인력 계산이나 간단한 기계식 계산기에 의존했다.

계산 기기의 등장과 현대 수치해석의 전환점

19세기 말에서 20세기 초에 걸쳐 차차 발전하기 시작한 기계식 계산기는 수치해석이 대형 문제로 확장될 수 있는 토대를 마련한다. 예컨대 차분기관(Difference Engine)과 해석기관(Analytical Engine)에 대한 찰스 배비지의 구상은 필연적으로 대규모 반복 연산을 동반하는 근사 해법을 자동화하고자 하는 열망에서 비롯되었다고 볼 수 있다. 이러한 기계식 계산기는 초기 천문학 표를 작성하거나 통계 데이터를 처리하는 작업을 체계화하는 데 기여하였고, 점차 그 영향력이 다른 과학·공학 분야로 확산되어 갔다.

이후 20세기 중반 전자식 컴퓨터가 등장하면서, 수치해석은 완전히 새로운 국면을 맞이한다. 그간 수학자들이 이론적으로 정립해 놓은 각종 알고리즘은 대형 연산에도 충분히 견딜 수 있도록 체계화가 필요했고, 동시에 컴퓨터에서 실제로 구현 가능한 형태로 최적화되어야 했다. 이렇게 하여 수치해석은 학문적 연구와 공학·산업 현장에서의 실제 응용이 서로 긴밀하게 영향을 주고받는 현대적 분과로 확립되기에 이른다.

20세기 전반: 전자계산기와 행렬해석의 태동

20세기에 들어서면서 수치해석은 전자계산기의 발명이라는 결정적 변화를 맞이하게 된다. 특히 1930~1940년대를 전후하여 집적회로는 아직 등장하지 않았지만, 릴레이나 진공관을 이용한 초보적 전자계산기의 시제품이 천문학 계산이나 암호 해독 등에 투입되었다. 앨런 튜링, 존 폰 노이만, 하워드 아이켄 등 컴퓨팅 역사에서 손꼽히는 인물들은 기계가 대규모 연산을 수행할 수 있는 가능성을 열어젖히는 동시에, 수치 계산을 효율적으로 구현하기 위한 알고리즘과 데이터 구조의 중요성을 일깨웠다.

이 시기에 선형대수학의 체계화가 크게 진전되면서, 행렬과 벡터의 연산에 관한 이론이 수치해석 전반에도 깊이 스며들었다. 예컨대 큰 규모의 선형방정식 계(system of linear equations)를 다루기 위해 가우스 소거법과 같은 고전적 방법이 컴퓨터에 적용되었으며, 실제로 기계에서 그 과정을 자동화하려면 중간 오차와 연산량을 면밀히 평가해야 했다. 이를테면 $n$개의 미지수를 가지는 선형계

Ax=b\mathbf{A}\mathbf{x} = \mathbf{b}

에서 $\mathbf{A}$가 $n \times n$ 행렬이라고 할 때, 직접적인 LU 분해를 시행하면 대략적으로 $O(n^3)$에 해당하는 연산 횟수가 필요하므로, 컴퓨터 내부 자원과 시간의 한계를 어떻게 극복할 것인지가 중요한 문제로 대두되었다.

이러한 계산 난제 속에서 폰 노이만은 적절한 반정규화(denormalization)나 어림잡음(round-off error)에 대한 분석 틀을 확립하는 데에도 기여하였다. 숫자를 2진수 부동소수점으로 표현할 때 발생하는 근사 오차와 오버플로·언더플로 등의 문제가 수치 알고리즘 전반에 큰 영향을 미친다는 사실이 점차 알려지기 시작했으며, 이는 이후 떠오른 IEEE 부동소수점 표준의 사상적 기반이 되었다.

2차 세계대전 이후: 컴퓨팅 인프라와 수치 알고리즘의 체계화

제2차 세계대전이 끝난 뒤에는 군사적·과학적 필요로 인해 대규모 컴퓨터 개발이 가속화되었다. 초기 전자계산기들은 오늘날과는 비교하기 힘들 정도로 성능이 제한적이었으나, 전산 유체역학(CFD)이나 전자기 해석, 핵물리 시뮬레이션 등 방대한 연산이 요구되는 문제에 투입되어, 새롭게 개발된 수치 기법을 적극적으로 실험하는 장(場)이 되었다. 에니악(ENIAC), 에드삭(EDSAC), 유니박(UNIVAC) 등의 초기 컴퓨터들은 프로그램이 고정wired되어 있거나 메모리 용량이 매우 협소했다. 그럼에도 불구하고 방정식해법, 차분화 기법, 적분 근사, 통계적 시뮬레이션 등 다양한 알고리즘들이 시도되었고, 그 성능과 오차율이 평가되었다.

이 무렵부터 고유치(eigenvalue) 문제나 행렬 분해, 비선형 방정식의 점근적 해법, 보간 및 수치 적분 문제에 대한 전반적인 패러다임이 확립된다. 예를 들어 고유치 문제를 근사하는 고전적 알고리즘으로는 거듭제곱 반복(power iteration) 및 QR 분해(QR decomposition) 기반 절차가 제안되었고, 이러한 방법들은 대형 행렬에 대해서도 안정적으로 수렴하기 위한 조건을 분석함으로써 점차 탄탄한 이론적 뒷받침을 갖추게 되었다.

나아가 계산기 구조의 발전과 함께 부동소수점 연산에 대한 안정성(stability) 개념, 즉 알고리즘을 구현했을 때의 누적 오차가 본래 수학적 연산과 어느 정도 차이가 나는지 정량적으로 평가하는 연구도 심도 있게 진행되었다. 예컨대 어떤 수치 알고리즘이 ‘수치적으로 안정적(numerically stable)’이라는 것은, 입력 데이터가 조금 변하거나 부동소수점 연산에서 사소한 근사 오차가 발생해도 최종 결과가 크게 틀어지지 않는다는 것을 의미한다. 이는 실제 계산기에서 수행되는 모든 연산이 유한 정밀도이므로 반드시 고려해야 할 핵심적 개념이었다.

유한차분법과 유한요소법의 부상

미분방정식의 해를 구하는 근사기법 또한 20세기 중반 이후 전자계산기의 도입과 함께 급속도로 발전하였다. 편미분방정식을 직접 해석적으로 풀기 어려운 문제가 실제 공학·물리 분야에서 비일비재하게 등장하자, 이를 해결하기 위해 유한차분법(Finite Difference Method)과 유한요소법(Finite Element Method)이 중요한 지위를 차지하기 시작했다. 유한차분법은 도메인을 격자로 분할하고, 미분 연산자를 차분 연산자로 대체하여 방정식을 이산화(discretization)함으로써 선형 혹은 비선형 방정식 계를 구성한다. 예를 들어 1차원 열전도방정식

ut=α2ux2\frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2}

을 유한차분으로 근사하면, 시간과 공간을 일정 간격으로 나눈 뒤 차분 오퍼레이터를 적용하여 점진적으로 $u(x, t)$의 값을 추론한다.

반면 유한요소법은 문제 영역을 삼각형, 사각형, 사면체 등으로 분할하여 적당한 보간함수를 정의하고, 편미분방정식을 최소제곱 관점이나 약해(weak form) 관점에서 풀어내는 방법론이다. 이는 구조해석, 유체해석, 전자기해석 등 다양한 공학적 문제에서 폭넓게 적용되며, 대규모 행렬계가 반복적으로 등장하기 때문에 컴퓨터의 연산 성능과 수치적 안정성 확보가 핵심 과제로 떠오른다. 이후 슈워츠 분할 기법이나 적응적 격자(adaptive mesh) 등, 문제 해석 효율을 높이기 위한 기법들이 잇따라 고안되면서 유한요소법은 컴퓨터 과학, 응용수학, 공학 전 분야에서 중요한 역할을 담당하게 된다.

행렬 계산 및 고차원 해석의 진전

컴퓨터를 통한 대규모 연산이 보편화되면서, 다차원 문제에 대한 행렬 계산 기법이 크게 비약하였다. 특히 1960~1970년대에 이르러서는 선형연산자 이론과 함께 행렬 인수분해 기법이 한층 정교해지고, 실제 계산에 적용할 수 있는 수준으로 구현체가 정립된다. LU 분해, QR 분해, 고윳값 분해(EVD), 특이값 분해(SVD) 등이 체계적으로 정리되면서, 고차원 데이터의 처리와 분석에 필수적인 알고리즘들이 모두 수치해석의 범주 안에서 유기적으로 연결되었다.

이러한 발전은 순수수학에서도 의미가 크지만, 무엇보다 통계나 기계학습, 최적화 등 다양한 응용 분야에서 커다란 파급 효과를 일으켰다. 예컨대 특이값 분해는 행렬 차원 축소, 노이즈 제거, 패턴 인식 등의 영역에서도 핵심 도구가 되었고, 이를 대규모 문제에도 적용하기 위해선 수치적 안정성과 연산 효율을 고려한 구현 기법들이 필요했다. 오늘날에는 행렬-벡터 연산을 분산 컴퓨팅 환경에 최적화하거나, 희소(sparse) 구조를 가진 행렬에 특화된 알고리즘을 개발하는 등 수치해석이 계속해서 확장·응용되고 있다.

고성능 계산(HPC) 시대와 대규모 문제 해결

1970년대 말부터 1980년대에 접어들면서, 벡터컴퓨터(Vector Computer)와 병렬컴퓨터(Parallel Computer)가 본격적으로 개발되어 대규모 연산이 필요한 문제를 더욱 빠르게 풀 수 있게 되었다. 슈퍼컴퓨터라 불리던 시스템들은 수천에서 수만 개 이상의 프로세서를 장착하였고, 이를 효율적으로 활용하기 위해서는 기존 수치 알고리즘도 병렬 처리에 최적화될 필요가 있었다. 고성능 계산(HPC, High-Performance Computing) 분야의 태동은 단순히 하드웨어 성능만 향상시키는 데 그치지 않고, 대규모 행렬 연산, 비선형 최적화, 대규모 유체역학 시뮬레이션, 양자화학 계산, 천체물리 시뮬레이션 등 다양한 학문 분야에서 대형 문제를 해결할 수 있게 해 주었다.

본격적인 병렬 계산 환경에서 수치해석 알고리즘이 안정적으로 동작하려면, 다음과 같은 고려 사항이 필요했다. 첫째, 데이터 분산 방식. 즉, 대규모 벡터나 행렬을 여러 프로세서 메모리에 나누어 저장하고, 서로 필요한 데이터를 교환하는 통신 전략이 정교해야 했다. 둘째, 알고리즘 자체가 병렬화에 적합하도록 분할 정복(divide-and-conquer) 방식이나 도메인 분할(domain decomposition)을 도입할 필요가 있었다. 셋째, 계산량과 통신량 간 균형(Load Balancing)을 맞추어 특정 프로세서만 과도하게 바쁘지 않도록 배분하고, 동기화(synchronization)에 따르는 오버헤드를 줄이는 등 다양한 최적화 기법이 고려되어야 했다.

미분방정식 해법이나 행렬 분해를 병렬화하는 대표적 예시로는, 전처리가 필요한 반복법(preconditioned iterative method)을 꼽을 수 있다. 크기가 매우 큰 희소(sparse) 행렬 $\mathbf{A}$가 등장할 때, 다음과 같은 선형계

Ax=b\mathbf{A}\mathbf{x} = \mathbf{b}

를 직접적인 정해법(direct method)으로 풀기는 매우 비효율적이므로, 공학 현장에서는 CG(Conjugate Gradient), BiCGSTAB(BiConjugate Gradient Stabilized) 등의 반복법을 활발히 사용한다. 이 반복법들은 행렬-벡터 곱셈 중심으로 구성되어 있으므로, 데이터가 분산된 병렬환경에서도 병렬 처리가 상대적으로 용이하다. 또한 적절한 전처리(preconditioner)를 구비하면 반복 횟수를 크게 단축시킬 수 있다.

병렬수치해석이 발전하면서, 유한요소해석(FEM), 유한체적해석(FVM), 유한차분해석(FDM) 등 다양한 이산화기법도 HPC 시스템에서 동작할 수 있도록 최적화되었다. 복잡한 삼차원 도메인을 효율적으로 분할하고, 각 서브도메인 간 경계 정보를 교환하며, 부분문제를 국소적으로 해석해 전체 문제를 합치는 도메인 분할 기법(domain decomposition method)은 대규모 편미분방정식을 분산 환경에서 풀기에 매우 적합하다. 예컨대 슈워츠(Schwarz) 분할법 등의 알고리즘이 병렬 아키텍처와 결합하여 고차원 문제를 빠르게 근사한다.

GPU 계산과 딥러닝 응용

2000년대 중반 이후 그래픽처리장치(GPU)가 범용 병렬 계산에 적극 활용되기 시작하면서, 기존 CPU 기반 HPC 환경과는 또 다른 차원의 연산 병렬화가 실현되었다. GPU는 대량의 코어를 비교적 간단한 구조로 구현하여 병렬 연산량을 극대화하므로, 대규모 행렬·벡터 연산이나 합성곱(convolution)과 같은 패턴 매칭 연산에 매우 높은 성능을 발휘한다. 이로 인해 전산 유체역학, 전산 구조해석, 전산 생물학 등의 분야에서는 CPU+GPU 병렬 체계를 활용한 수치해석 소프트웨어가 급속도로 등장하였고, 기존에 수십 시간 혹은 수일이 걸리던 대규모 해석 문제를 수 시간 내지 수십 분으로 단축하는 사례도 나타났다.

특히 GPU와 수치해석 알고리즘의 결합은 딥러닝(Deep Learning)으로 대표되는 머신러닝 분야의 폭발적 성장을 견인했다. 다층 신경망(neural network)의 학습은 결국 대규모 행렬 곱셈과 미분 연산(역전파; backpropagation)에 기반한 반복적 최적화 문제이므로, 병렬화가 용이한 GPU 환경에서 뛰어난 효율을 보인다. 이러한 맥락에서 수치해석적 기법, 예컨대 스토캐스틱 경사하강법(Stochastic Gradient Descent, SGD)의 변형이나 모멘텀, 적응적 학습률(Adaptive Learning Rate) 등이 모두 오차 분석과 수렴 특성을 논의하기 위한 수치해석 관점에서 해석될 수 있다. 빅데이터와 결합된 머신러닝의 부상은, 역으로 방대한 크기의 문제에 대한 수치적 해석 및 최적화 이론을 더욱 필요로 하게 만들어, 양자 분야의 깊은 융합이 일어나고 있다.

현재와 미래의 양상

오늘날 수치해석은 전통적 과학·공학 문제를 넘어 데이터과학, 인공지능, 금융수학, 생물정보학 등 광범위한 영역에서 핵심 역할을 한다. 수치적 알고리즘의 안정성과 수렴률을 평가하는 고전적인 분석 틀에서부터, 빅데이터 환경을 전제로 한 근사기법 및 확률적 기법, 딥러닝을 결합한 하이브리드 방법론 등이 공존하며 나날이 발전하고 있다. 특히 양자컴퓨팅(Quantum Computing), 클라우드 기반 분산컴퓨팅(Distributed Cloud Computing), 자동미분(Automatic Differentiation) 등 새로운 패러다임이 부상함에 따라, 수치해석은 여전히 진화하고 확장되는 학문으로 자리매김하고 있다.

Last updated