매스매티카

(Mathematica에서 넘어옴)

Mathematica

수학자와 이론물리학자들의 친구.

1988년부터 울프램 리서치에서 만들어 파는 수치해석 프로그램(...)이라고 쓰고 매우 좋은 공학용 계산기라고 읽는다. 매쓰매티카라고 쓰기도 한다. 홈페이지는 여기#. 최신 버전은 2015년 3월 1일 현재 버전 10이다.

개발자인 스티븐 울프램은 천재다. 영국 상류층에서 태어나서 이튼 칼리지를 다니다가 자기 수준에 안 맞는다고 생각해서 자퇴하고, 옥스포드 대학에 들어갔는데 강의가 수준이 낮다고 생각하고 2년도 못 버티고 또 자퇴하고 칼텍으로 건너가서 2년이 채 안 지난 20살때 박사학위를 받는다. 그 뒤에 칼텍에서 교수생활을 하고, 프린스턴의 고등과학연구소(IAS)에서 연구생활을 하다가, 입자물리를 연구하면서 연구할때 쓸 컴퓨터 프로그램을 짜다가 물리학 때려치우고 이 길로 나섰다. 그래서 자기가 짠 컴퓨터 프로그램을 팔기 시작했는데 그것이 바로 매스매티카. 몰라 뭐야 이사람 무서워 어쨌거나 물리학과 그 이웃 학문들을 연구하게 된다면 메이플, MATLAB과 함께 많이 다루게 될 것이다. 뭐, 사실 그냥 미분 적분 하고 그래프 그릴 때에도 매우 편리하긴 하다(...) NeXT 컴퓨터를 팔아먹으려고 이걸 번들로 넣었다가 CERN에서 NeXT컴을 질러 대박을 만들어낸 주인공으로 자리매김 하였다고 한다. 그래서 덕택에 최초의 웹 서버는 팀 버너스 리가 쓰던 NeXT 컴퓨터가 먹었다.

수치계산자체는 포트란이나 C등을 쓰는 편이 매스매티카를 사용하는 것보다 낫다. 예를 들어 NIntegrate등의 명령어를 사용하여 다중적분하는 경우는 시간도 많이 걸리고, 컴퓨터의 성능에 크게 의존한다.

다만, 매스매티카의 진정한 파워는 심볼릭 계산이라고 할 수 있다. 대부분의 프로그램이 수치해석적 방법으로 문제를 푸는데 반해, 매스매티카는 분석적 방법으로, 즉 마치 손으로 방정식을 풀거나, 관계식을 유도하는 것처럼, 복잡한 식을 정리하고, 최적의 형태로 만들어내는데 매우 유용하다. 숙제할때 딱 좋다 아니 요즘은 wolfram alpha를 대신 많이 써서 또한 입자물리 등에 사용되는 다양한 행렬의 복잡한 계산을 위한 패키지도 따로 존재하고 있고, 손으로 계산할 시 몇 시간대로 걸릴 계산을 단 몇 분으로 가능하게 한다. Feyncalc라는 패키지가 대표적. 수치결과의 시각화도 꽤 우수하며, 예술적인 표현도 가능하다.

매트랩(MATLAB)과는 용도가 비슷하지만 약간 접근 방식이 다르다. 공대에서는 매트랩을 더 많이 쓰는 편.

한국어로 된 사용법은 구버전이지만 성균관대#에서 간략하게나마 적어두었다. 신버전을 이용하더라도 문법 등은 그대로 사용할 수 있다. 버전 4.0 부터 문법이 조금 바뀌었다.

워낙에 비싼 프로그램이기 때문에 학교에서 라이선스를 사 주는 것이 아니면 열에 아홉은 구버전을 어둠의 루트로 구해서 사용하는 경우가 많다. 학생용은 학교에서 라이선스를 사 주더라도 따로 울프램에 사용자 등록을 해서 키를 받아 사용해야 한다. 게다가 이렇게 불편한 짓을 매년 해야 계속해서 쓸 수 있다. 얼마나 복돌이들이 많았으면?

여담으로 울프램 리서치의 정보연산엔진인 울프램알파[1]에서도 매스매티카 문법이 먹힌다.

그리고 2013년 제휴로 인해서 라즈베리 파이에 무료로 실리게 되었다.

여담으로 매스매티카라는 이름은 스티브 잡스 가 지어줬다고 한다. #
  1. 매스매티카로 만든 정보연산엔진이라고 한다.