KTUG 한국 텍 사용자 그룹

Menu

KTUG :: 마당

이러한 노력에 고마운 생각을 가지면서도 이를 사용하는 사람들이 조금 조심할 점이 있어 보입니다. (...중략...) 즉 작은 집단은 이를 제대로 만들기 힘들다는 것입니다.


Sage에 들어있는 기능들 대부분이 Sage 개발자들에 의해 만들어 진 것이 아니며, 그들도 결코 바라지 않을 것입니다. 그러니 너무 염려하지 않으셔도 될 듯 합니다.


대신 Sage는 (제가 파악하고 있기로) 오픈소스 진영에서 만든 중요한 수치계산용 라이브러리 및 프로그램들 및 오랜 세월동안 수학자들이 개발해 온 중요한 프로젝트 (예를 들어, GAP 및 Singular)들을 기반으로 하고 있습니다. 아래 Sage's Reference Manual의 목차를 한번 보십시오.


http://www.sagemath.org/doc/reference/index.html


gromov 교수님 같은 수학자가 아니라면 무슨 말을 하는지 반도 이해하지 못할겁니다. 수치해석 전공하는 분이 주위에 계시면 한번 목차를 보여 준 후 무슨 내용인지 한번 물어보십시오. 황당한 얼굴로 바라볼지 모릅니다. 왜냐하면 그분들조차 반도 이해하지 못하기 때문입니다. 차라리 컴맹이라고 놀림을 받는 대수학 전공자들께 보여드리는 것이 나을지 모릅니다.


바로 이것입니다. Sage는 설령 "Mathematica, Maple, MATLAB을 지향"한다고 모토를 가지고 있지만 내용을 찬찬히 살펴보면 그렇지 않습니다. 지금까지 만들어진 오픈소스 진영의 유명한 라이브러리, 프로그램 및 프로젝트들을 한 곳에 모은 것이라고 보는 것이 합당할 듯 합니다. 그렇다면 문제는 이러한 각각의 기능들을 어떻게 엮을 것이냐입니다. 그들의 철학은 Python이라는 걸출한 프로그래밍 언어를 이용해 이를 해내겠다는 것입니다. 만약 Mathematica 프로그래밍 (단순한 사용이 아님)과 Python을 동시에 구현할 수 있는 분이라면 Mathematica 함수를 Python 프로그래밍에서 사용할 수 있는 환경을 상상해 보십시오. 얼마나 매력적일까요? Sage 개발자들의 의도가 여기에 있습니다.


저는 Sage를 이용해 최종 연구 결과를 얻을 수 있는 경우는 많지 않다고 생각합니다. 수치계산을 하는 분들이 MATLAB을 이용해 최종 연구 결과를 얻는 것을 제외하면, Mathematica나 Maple도 상황은 마찬가지입니다. Mathematica가 비록 엄청난 기능들을 가지고 있지만 Mathematica의 심볼릭 연산 기능은 수학 문제를 풀거나 수학 모델을 만들 때 프로토타입 제작용으로 쓰일 뿐입니다. 다시 설명하면, 자신이 예상하는 결과가 어느 정도까지 맞는지 또는 자신의 수학 모델이 어느 정도까지 잘 맞는지 확인하는데 쓰인다는 것입니다. 이러한 확신을 바탕으로 수학자는 증명을 하려고 할테고, 수치계산을 하는 분들은 MATLAB 같은 패키지 또는 Fortran/C로 만들어진 라이브러리를 이용해 시뮬레이션을 시도하겠죠.


Mathematica나 Maple을 쓰지, 왜 굳이 Sage를 쓰려고 하느냐라고 쉽게 이야기하지 말아 주십시오. Mathematica가 가지는 강력한 기능을 사용하기 위해 지불해야 하는 금액이 얼마인지 생각해보십시오. 일반인은 결코 감당하지 못할 금액입니다. 제가 가진 Mathematica 6.0을 업그레이드 조차 하지 못하고 있는 이유도 바로 여기에 있습니다. 저는 Sage의 매력이 바로 여기에 있다고 봅니다. 사용자 인터페이스만 좀 더 편리해지고, 모든 플랫폼에서 동일하게 사용할 수 있다면, 당장이라도 Sage에 달려들고 싶습니다.

KTUG 한국 텍 사용자 그룹