제임스 윌킨슨​*​

실망스러운 부분은 수치해석 전문가들이 컴퓨터 하드웨어와 소프트웨어에 대해 응당 해야 할 역할을 하고 있지 못하다는 점이다. 컴퓨터 혁명의 초창기에는 컴퓨터 설계자와 수치해석 전문가들이 아주 긴밀하게 협력했다. 지금은 유감스럽게도 수치해석 전문가들이 산술연산 장치의 설계에 관여하려 하지 않으며 소프트웨어의 좀 더 근본적인 특성에도 영향을 미치지 못하고 있다.

1970년 튜링상 수상 강연 중에서​1​

윌킨슨은 고민에 빠졌다. 이걸 말해야 하나 말아야 하나. 그의 눈 앞에서 펼쳐지는 상황은 입을 근질근질하게 만들었지만 잘못했다가는 웃음거리가 될 수도 있었다. 괜히 나서지 않는 편이 좋겠다고 그는 마음을 굳혔다.


전쟁은 수학자도 가만 놔두지 않았다. 총을 들고 굳이 전장에 나서지 않아도 할 일이 많았다. 전쟁에서 이기기 위해서는 좋은 무기가 필요했고, 무기를 완벽하게 만들기 위해서는 많은 수학 계산이 필요했다. 촉망받던 수학 전공 학생이던 윌킨슨도 총 대신 연필과 계산기를 들고 전쟁을 치렀다. 그리고 6년이라는 시간이 흐르면서 그는 변했다. 정통 고전 수학의 길을 걸어가고 있었던 그는 무수히 많은 계산을 하는 과정에서 자신이 이 일에 소질이 있음을 느꼈다.

전쟁이 끝난 후 그는 이제 국방부 조직에서 떠나고 싶었다. 그가 보여준 탁월한 실력 때문에 윗선에서는 그를 붙잡으려 했지만 그는 마음을 굳혔다. 예전에 대학 연구소에서 함께 일했던 굿윈Goodwin과 마침 연락이 닿았다. 국립물리연구소NPL의 수학부Mathematics Division에서 일하고 있던 굿윈은 윌킨슨에게 함께 일하자고 제안했다. 윌킨슨은 마음이 끌렸다. 그리고 국립물리연구소에서 앨런 튜링이 전자식 계산기를 만들려고 한다는 말을 들었을 때 그는 혹했다. 전쟁 중에 했던 많은 계산들은 기계식 계산기의 도움을 받았지만 지루하고 고되었다. 전자식 계산기가 얼마나 필요한지 그는 잘 알았다.

윌킨슨은 앨런 튜링 혼자 꾸려가고 있던 ACE과ACE Section과 굿윈이 맡고 있던 계산과Computing Section 양쪽에서 모두 일하기로 했다. 근무시간의 절반씩을 할당하는 걸로 결정했다. 앨런 튜링 밑에서 일하기는 쉽지 않았다. 앨런 튜링은 설렁설렁 일하는 사람이 아니었다. 하지만 그는 뛰어났고 배울 점이 많았다. 그리고 한 가지 좋은 점은 가끔 사라진다는 점이었다. 튜링은 기분이 가라앉을 때면 며칠씩 사무실에 나타나지 않았고 그러면 윌킨슨은 계산부에 가서 그동안 밀린 일을 할 수 있었다.

그러던 어느 날, 수학부에 큰일이 떨어졌다. 18개짜리 연립 방정식을 풀라는 지시였다. 무려 18×18 크기의 행렬을 다루어야 하는 문제였다. 앨런 튜링는 물론이고 계산과에 속한 수학 전문가들은 그 결과에 대해 비관적이었다. 이 계산을 완전히 손으로 하기는 불가능했고 기계식 계산기의 도움을 받아야 했다. 그런데 계산기가 처리할 수 있는 숫자의 크기에 제한이 있으므로 오차가 발생하는 것을 피할 수 없었다. 한 번 계산한 결과를 다시 계산에 이용하면 그 오차가 점점 확대될 것이 너무도 뻔해 보였다. 앨런 튜링은 시간 낭비라고 선언하고는 자리에서 일어났다.

바로 이때 윌킨슨의 고민이 시작되었다. 그는 전쟁 중에 12개짜리 연립 방정식을 혼자서 낑낑대며 풀어본 적이 있었다. 그때 그가 했던 걱정 중의 하나는 열심히 풀어봐도 오차가 심해져서 쓸모없는 결과가 나올지 모른다는 것이었다. 마침내 맨 마지막 단계에서 그에게 남은 등식은 다음과 같았다.​1​

.0000376235 \times x_{12} = .0000216312

계산을 처음 시작할 때만 해도 모든 계수들은 소수점 아래 10자리를 꽉 채운 상태였지만 이제 마지막 단계에서는 4자리가 0으로 차고 6자리만 유효하게 남았을 뿐이었다. 그래서 윌킨슨은 x_1에서부터 x_{12}까지의 변수에 대한 계산값들이 잘해야 6자리까지만 정확하리라 추측했다.

x_{12}의 값을 구한 후에 차례대로 나머지 x_1에서부터 x_{11}까지의 값들을 계산한 그는, 12개의 값들을 방정식 대입하여 최종 확인작업을 벌였다. 그런데 이게 웬일인가? 등호의 왼쪽 값과 오른쪽 값이 정확하게 일치하는 것이었다. 계산하면서 오차가 증폭되어 결과값에 분명히 오류가 생겼어야 맞는데 완전히 예상과 다른 일이 벌어진 것이다. 그는 이유를 찾고 싶었지만 전쟁 중이라 그런 여유를 누릴 수가 없었다.

앨런 튜링이 시간 낭비라고 선언한 그 순간, 윌킨슨은 예전 경험을 떠올렸다. 혹시 이번에도 같은 상황이 벌어질 수 있지 않을까? 윌킨슨은 한번 부딪혀 볼 필요가 있다고 생각했다. 굳이 자신의 경험을 공개할 필요는 없었다. 일단 계산해보면 확실해질 테니까.

“음… 따져보지 말고 그냥 계산해보죠.”

1 2 3 4 5