매스매티카
1. 개요
매스매티카는 울프람 리서치에서 개발한 수치 및 기호 계산 소프트웨어이다. 1988년 6월 23일 버전 1.0이 출시된 이후, 지속적인 업데이트를 통해 2024년 7월 31일 현재 버전 14.1까지 발전해왔다. Mathematica는 수학, 프로그래밍, 데이터 처리 및 시각화, 계산 가능한 데이터 접근 등 다양한 기능을 제공하며, Wolfram 언어를 사용한다. 다중 패러다임 프로그래밍을 지원하며, 2D 및 3D 그래픽, 다양한 데이터 형식의 입출력, 병렬 처리, 고성능 컴퓨팅 기능 등을 갖추고 있다. 또한, 다른 응용 프로그램과의 연결을 지원하며, 윈도우, macOS, 리눅스 등 다양한 운영 체제에서 사용할 수 있다. Mathematica는 상업용 소프트웨어로, 사용 용도에 따라 다양한 가격으로 제공되며, 폐쇄형 소스라는 비판을 받기도 한다.
| 이름 | Wolfram Mathematica |
|---|
이미지 준비중입니다.
| 개발자 | 울프럼 리서치 |
|---|---|
| 출시일 | 1988년 6월 23일 |
| 최신 버전 | 14.1 |
| 최신 버전 출시일 | 2024년 7월 31일 |
| 프로그래밍 언어 | Wolfram 언어 C C++ Java |
| 지원 언어 | 영어, 중국어, 일본어 |
| 플랫폼 | 크로스 플랫폼 |
| 종류 | 컴퓨터 대수학 시스템 수치 해석 정보 시각화 통계 사용자 인터페이스 생성 |
| 라이선스 | 사유 소프트웨어 |
| 웹사이트 | 울프럼 매스매티카 공식 웹사이트 |
| 사용 가능 언어 | 영어, 중국어, 일본어, 프랑스어, 독일어, 이탈리아어, 한국어, 스페인어 |
|---|---|
| 운영 체제 | 윈도우, macOS, 리눅스 (라즈베리 파이의 Raspbian 지원 포함), 온라인 서비스 |
| 플랫폼 지원 | 모든 플랫폼은 64비트 구현을 지원 |
-
천문학 데이터베이스 -
SIMBAD
SIMBAD는 천문학적 객체에 대한 정보를 제공하는 데이터베이스이며, 웹사이트를 통해 천체 명칭 검색 및 다양한 데이터를 제공한다. -
천문학 데이터베이스 -
외계 행성 백과사전
외계 행성 백과사전은 외계 행성의 질량, 반지름, 궤도, 발견 연도 등의 기본 정보와 관측 기법별, 미확인 행성, 발견 철회 행성 카탈로그를 제공하는 데이터베이스로, 장 슈나이더에 의해 개설되어 다국어를 지원하며, 천체 데이터베이스 SIMBAD 링크 및 다양한 논문과 미디어에서 활용된다. -
물리학 소프트웨어 -
VASP
VASP는 풀트뮐러와 크레스가 개발한 재료 시뮬레이션 소프트웨어로, PAW 기반 유사 퍼텐셜법과 평면파를 사용하여 DFT 기반 양자역학적 계산을 수행하며, 재료 과학 등 다양한 분야에서 활용되고 유료로 제공된다. -
물리학 소프트웨어 -
메이플 (소프트웨어)
메이플은 Maplesoft에서 개발한 컴퓨터 대수 시스템 소프트웨어로, 기호 및 수치 계산, 시각화, 프로그래밍 기능을 제공하며 수학적 모델링, 시뮬레이션, 데이터 분석 등에 활용되어 교육 및 연구 개발 분야에서 널리 사용된다. -
수식 편집기 -
메이플 (소프트웨어)
메이플은 Maplesoft에서 개발한 컴퓨터 대수 시스템 소프트웨어로, 기호 및 수치 계산, 시각화, 프로그래밍 기능을 제공하며 수학적 모델링, 시뮬레이션, 데이터 분석 등에 활용되어 교육 및 연구 개발 분야에서 널리 사용된다. -
수식 편집기 -
LyX
LyX는 LaTeX을 기반으로 구조적 문서 작성 및 편집 기능을 제공하는 자유 문서 편집기로, 다양한 언어 지원, 맞춤법 검사, 표 편집, 자동 상호 참조 기능과 더불어 XeTeX, LuaTeX, Maple, Maxima, GNU Octave, Mathematica와 같은 다양한 기능 및 시스템을 지원한다.
2. 역사
울프럼 리서치(Wolfram Research)의 창립자 스티븐 울프램(Stephen Wolfram)과 그의 팀은 1986년부터 새로운 수식 처리 시스템 개발을 시작하여 1988년 첫 번째 버전을 출시했다. 울프램은 처음에 이 시스템을 Omega나 PolyMath라고 불렀으나, 당시 넥스트(NeXT) 사의 사장이었던 스티브 잡스(Steve Jobs)와 상의한 후 "Mathematica"라는 보다 일반적인 이름으로 변경했다.
역대 Mathematica 로고에는 "스파이키"라는 3차원 다면체가 사용되었는데, 초대 Mathematica는 정이십면체를, 이후 버전에서는 쌍곡선 이십면체를 장식한 것이 사용되었다.
Mathematica는 C/C++ 및 자바(Java)로 구현되었지만, 확장 가능한 라이브러리는 모두 울프럼 언어로 작성되어 있다. 4,000개 이상의 고도로 정교한 내장 함수를 빌딩 블록처럼 조합하여 프로그램을 쉽게 만들 수 있다. Mathematica는 울프럼 언어를 해석하여 계산을 실행하는 "커널(Kernel)"과 계산 결과를 표시하는 "프런트 엔드(Front End)"의 두 부분으로 구성되며, 이들 간의 통신에는 "[http://www.wolfram.com/solutions/mathlink/mathlink.html MathLink]" 프로토콜이 사용된다.
2.1. 개발 배경 및 초기 버전
울프럼 리서치(Wolfram Research)의 창립자 스티븐 울프럼(Stephen Wolfram)과 그의 팀은 1986년부터 새로운 수식 처리 시스템 개발을 시작했다. 초기에는 "Omega"나 "PolyMath" 등으로 불렸으나, 넥스트(NeXT) 사의 사장이었던 스티브 잡스(Steve Jobs)의 조언에 따라 "Mathematica"로 최종 명명되었다. 1988년 6월 23일, Mathematica 1.0이 출시되었다. 초기 버전은 매킨토시를 지원했으며, 넥스트(NeXT) 컴퓨터에 번들로 제공되었다.
Mathematica의 로고는 "스파이키(spikey)"라는 3차원 다면체를 사용하는데, 초기 버전은 정이십면체를, 이후 버전에서는 쌍곡선 이십면체를 변형한 형태를 사용한다.
2.2. 버전 기록
| 버전 | 출시일 | 주요 새로운 기능 |
|---|---|---|
| Mathematica영어 1.0 | 1988년 6월 23일 | 최초의 Mathematica영어. 맥킨토시 지원. NeXT사 제품 모든 컴퓨터에 번들 제공. |
| Mathematica영어 1.1 | 1988년 10월 31일 | |
| Mathematica영어 1.2 | 1989년 8월 1일 | 맥킨토시 프런트엔드, 원격 커널, 기본적인 미분 방정식 해법, Statistics 및 Graphics 패키지 추가, 3D 그래픽스의 새로운 옵션 및 기능 추가. |
| Mathematica영어 2.0 | 1991년 1월 15일 | MathLink영어 프로토콜, 표준 프런트엔드 "노트북", 그래픽스 장식 기능 추가, 문자열 및 파일 조작. |
| Mathematica영어 2.1 | 1992년 6월 15일 | 맥킨토시용 MathLink영어, {{lang 지원. |
| Mathematica영어 2.2 | 1993년 6월 1일 | {{lang용 MathLink영어, 리눅스 지원, X용 프런트엔드, 온라인 매뉴얼, Macintosh영어 및 NeXT용 함수 브라우저. |
| Mathematica영어 3.0 | 1996년 9월 3일 | 수식 타입세팅, 다수의 새로운 특수 함수. |
| Mathematica영어 4.0 | 1999년 5월 19일 | 맞춤법 검사 기능, 20가지 이상의 데이터, 이미지, 사운드 데이터 임포트 및 익스포트, 네트워크 라이선스 관리 시스템. |
| Mathematica영어 4.1 | 2000년 11월 2일 | {{lang 지원, J/Link를 통한 Java영어 통합, 실시간 3D 그래픽스. |
| Mathematica영어 4.2 | 2002년 11월 1일 | 슬라이드쇼 스타일, XML영어 지원, XHTML로의 출력. |
| Mathematica영어 5.0 | 2003년 6월 12일 | 희소 행렬 지원, .NET/Link를 통한 .NET Framework 통합, 빠른 시작. |
| Mathematica영어 5.1 | 2004년 10월 25일 | SQL 연결 지원, {{lang 파일 임포트 및 익스포트, 웹 서비스 지원, 클러스터 분석, 벤치마크 도구 MathematicaMark영어. |
| Mathematica영어 5.2 | 2005년 6월 20일 | 64비트 지원, 멀티코어, SSH 원격 연결. |
| Mathematica영어 6.0 | 2007년 5월 1일 | 동적 인터랙티브 기능, 수학, 물리학, 화학, 금융, 지리, 언어학 온라인 데이터베이스 접근. |
| Mathematica영어 6.0.1 | 2007년 7월 5일 | Mathematica영어 문서 센터, "노트북 평가" 메뉴, Mathematica영어 함수의 예제 및 튜토리얼. |
| Mathematica영어 6.0.2 | 2008년 2월 25일 | 버추얼 북(Mathematica영어 북의 전자판), 함수 내비게이터, {{lang {{lang에서의 64비트 지원. |
| Mathematica영어 6.0.3 | 2008년 6월 23일 | |
| Mathematica영어 7.0 | 2008년 11월 18일 | 내장 병렬 고성능 계산, 게놈, 단백질, 기상 온라인 데이터베이스 접근, 측지 및 GIS 데이터. |
| Mathematica영어 7.0.1 | 2009년 3월 5일 | 기본 수학·수학 수업·문서 작성 보조 팔레트의 한국어화, 튜토리얼, "How to" 가이드, 스크린캐스트, 문서에 포함된 수천 개의 새로운 예제, gridMathematica Server영어와의 통합. |
| Mathematica영어 8.0 | 2010년 11월 15일 | 울프럼 알파(Wolfram Alpha)와의 통합, 자유 형식 언어 입력, CDF영어, CUDA, OpenCL의 내장 지원, C 코드 자동 생성, 3D 이미지의 텍스처 매핑, Mathematica영어 홈 에디션. |
| Mathematica영어 8.0.1 | 2011년 3월 7일 | |
| Mathematica영어 8.0.4 | 2011년 10월 24일 | |
| Mathematica영어 9.0.0 | 2012년 11월 28일 | 입력 예측 인터페이스, 소셜 네트워크 분석, 주요 데이터 과학, 확률·통계의 새로운 기능, 3D 입체 이미지 처리 기능, 인터랙티브 게이지, 구글 지도 등의 {{lang 지원, R과의 통합, 슬라이드쇼 스타일 개선. |
| Mathematica영어 9.0.1 | 2013년 1월 30일 | |
| Mathematica영어 10.0.0 | 2014년 7월 21일 | 완전한 {{lang 언어 기반의 최초 버전, 고도로 자동화된 기계 학습, 지리 정보 시각화를 위한 GeoGraphics영어 도입, 랜덤 과정 분석 확장, 2D·3D 이미지 처리 개선, 신호 처리 개선, 외부 장치 및 API 연결성 향상, Wolfram Cloud영어와의 통합, 라즈베리 파이에 무료 번들 제공. |
| Mathematica영어 10.0.1 | 2014년 9월 17일 | |
| Mathematica영어 10.0.2 | 2014년 12월 10일 | |
| Mathematica영어 10.1 | 2015년 4월 2일 | Wolfram Data Drop영어 지원, 객체 자동 인식, OpenSSL영어을 사용한 암호화의 언어 수준 지원, Wikipedia영어 콘텐츠 접근, 사용자 정의 문법 규칙 배포 등. |
| Mathematica영어 10.2 | 2015년 7월 14일 | (한국어판은 2015년 8월 18일 출시) 코드 캡션, 입체 데이터 및 이산 데이터 시각화를 위한 SliceDensityPlot3D영어와 ListStepPlot영어, 상미분 방정식 및 편미분 방정식에서의 고유값 및 고유 함수의 수치 해법, 이메일 자동 처리 기능, 클라우드 기능 확장 등. |
| Mathematica영어 10.3 | 2015년 10월 28일 | 지리적 계산 기능, 단어 및 알파벳 문자열 조작을 위한 언어 데이터 추가 및 자연어 이해 능력 향상, 편미분 방정식 및 고유값 문제의 기호 해법 지원, Google Calendar영어·Google Contacts영어·{{lang 데이터, {{lang 및 {{lang 등 서비스 연결 옵션 등. |
| Mathematica영어 10.3.1 | 2015년 12월 21일 | 영상 처리 기능 안정성 향상, 스페인어 맞춤법 검사 및 중국어 검색 기능을 포함한 다양한 언어 및 번역에 대한 지원 향상, 사용자 인터페이스 다양한 업데이트 등. |
| Mathematica영어 10.4 | 2016년 3월 7일 | 연관에서의 패턴 매칭 지원, 스케일된 플롯 생성, 지리적 계산 형식 및 함수 추가, 인터랙티브 이미지 뷰어, Wolfram Data Drop영어과 직접 연동하는 Arduino Yun영어 지원, 20개 이상의 새로운 인터프리터 형식, 24개의 새로운 글꼴 패밀리 추가 지원 등. |
| Mathematica영어 10.4.1 | 2016년 4월 25일 | 과거 릴리스에서 발생한 문제 해결 및 안정성 향상. |
| Mathematica영어 11.0.0 | 2016년 8월 22일 | 계산 음성, 3D 프린팅, 랜덤 행렬 등의 새로운 기능 및 다양한 기능 확장 및 향상. |
| Mathematica영어 11.0.1 | 2016년 10월 5일 | 11.0.0에서 발생한 버그 해결, 다양한 기능 향상. |
| Mathematica영어 11.1 | 2017년 4월 4일 | 기계 학습, 뉴럴 네트워크, 음성 처리, 강건한 기술 통계 등 분야에서 Wolfram영어 언어의 최첨단 기능 확장. |
| Mathematica영어 11.1.1 | 2017년 5월 9일 | ListPlot3D영어를 사용한 그림 문제 해결, Mac영어에서의 뉴럴 네트워크 GPU영어 지원 재활성화, URLFetch영어 및 문서 검색 속도 저하 문제 해결 등. |
| Mathematica영어 11.2 | 2017년 10월 5일 | 기계 학습 기능 확장, 뉴럴 네트워크에 대한 CPU영어 및 GPU영어 학습 지원을 포함한 고성능 프레임워크 도입, 미분 방정식의 수치 및 기호 해법 모두 제공 등. |
| Mathematica영어 11.3 | 2018년 3월 22일 | 수학 계산, 음성 및 이미지 처리, 기계 학습 및 뉴럴 네트워크, 시스템 모델링 등에서 Mathematica영어 및 Wolfram영어 언어 기능 확장 및 프런트엔드의 새로운 기능 도입 등. |
| Mathematica영어 12.0 | 2019년 5월 11일 | 수학, 기하학, 지리적 시각화, 음성 처리, 이미지 처리, 기계 학습 등의 기능, 프런트엔드 기능 확장 및 시스템 전체 성능 향상. |
| Mathematica영어 12.1 | 2020년 5월 12일 | 수학적 시각화, 비디오 계산(음성 처리/이미지 처리/기계 학습의 동영상 적용), 기계 학습 및 뉴럴 네트워크, 데이터 접근 및 저장 등의 기능 확장 및 패클릿(=paclet, 코드/리소스의 모듈식 패키지) 관리 등의 새로운 시스템 도입. |
| Mathematica영어 12.2 | 2021년 2월 20일 | 공간 통계 및 동영상·음성 분석, 생체 분자 배열 등 200개 이상의 새로운 함수 추가와 함께 많은 함수 및 사용자 인터페이스 개선. |
| Mathematica영어 12.3 | 2021년 7월 27일 | 100개 이상의 새로운 함수, 크게 업데이트되어 기능이 향상된 많은 함수, 수식 처리 함수 개선 및 업데이트, 동영상 처리 및 기계 학습·뉴럴 네트워크 기능의 추가 확장, Apple Silicon영어 탑재 macOS영어의 네이티브 지원, 싱글 사인온을 통한 활성화 효율화 등. |
| Mathematica영어 13.0 | 2022년 1월 19일 | 화학 반응 및 분자에 대한 정보를 다루는 함수가 강화된 것 외에도 시각화, 비디오 관련, 기계 학습, 최적화, 물리 모델링 등 분야에서 많은 새로운 함수가 도입되고 기능도 크게 개선됨. 또한 설치 프로그램에서 문서 분리(Mac영어 및 Windows영어 버전). 문서는 웹에서 볼 수 있으며 별도로 설치할 수도 있음. |
| Mathematica영어 13.1 | 2022년 7월 25일 | 90개의 완전히 새로운 함수 외에 기능이 크게 향상된 203개의 함수, 새로운 사용자 인터페이스 기능, 개선된 컴파일러 기능 및 모델 결과에 대한 특징의 영향을 플롯하는 새로운 기계 학습 함수 추가. |
| Mathematica영어 13.2 | 2023년 1월 16일 | 기계 학습 및 컴파일에서 새로운 기능이 도입된 것 외에도 트리 구조, 수학 계산, 동영상, 천문학 등에 대한 크게 개선된 함수도 추가됨. 더욱 빨라진 1변수 및 다변수 다항식 조작, 문서 및 성능도 크게 향상됨. |
| Mathematica영어 13.3 | 2023년 6월 29일 | 핵심 계산 분야의 확장을 지속하는 한편, LLM영어 함수가 도입되어 Wolfram영어 언어가 LLM영어과의 연계로 인간·AI·계산 사이를 중재하는 다리 역할을 하게 됨. LLM영어의 실행 결과를 인간이 확인 및 수정하는 매개체로 Wolfram영어 언어를 활용할 수 있으며 더욱 고도의 코딩에 대응 가능하게 됨. |
| Mathematica영어 14.0 | 2024년 1월 16일 | LLM영어과의 통합을 진행하여 개선된 채팅 노트북에서는 Wolfram영어 언어의 계산을 직접 LLM영어과의 대화에 포함할 수 있게 됨. 또한 시험적으로 입력으로 이미지를 받는 멀티모달 LLM영어에 대한 접근도 가능. 그 외에도 미적분 및 PDE영어, 동영상 편집, 천문학, 화학 등 많은 분야에서 기능이 향상됨. |
| Mathematica영어 14.1 | 2024년 7월 31일 | 통합 애플리케이션(WOLFRAM영어) 도입, 뉴럴 네트워크 및 LLM영어 조작, 콘텐츠 비교, 이미지 및 동영상 조작, 생체 분자 및 천체 물리학 등에서의 과학적 평가를 위한 새로운 도구 제공. |
3. 기능
매스매티카는 다음과 같은 다양한 기능을 제공한다.
* 수학 및 알고리즘: 초등함수, 특수 함수, 정수론, 군론 라이브러리를 포함하며, 복소수, 임의 정밀도, 구간 연산, 기호 계산을 지원한다. 연속/이산 계산을 위한 수치 및 기호 도구와 희소 행렬을 포함한 행렬 및 데이터 조작 도구를 제공한다. 상미분 방정식(ODE), 편미분 방정식(PDE), 미분 대수 방정식(DAE), 지연 미분 방정식(DDE), 디오판토스 방정식, 점화식 등의 방정식을 풀 수 있다. 직선/곡선 맞춤, 가설 검정, 100가지 이상의 확률 분포에 대한 확률 및 기댓값 계산이 가능하다. 제약 조건이 있는/없는, 국소/전역 최적화 및 조합 문제를 위한 도구와 제어 시스템 라이브러리, 채권, 연금, 파생 상품, 옵션 거래를 포함한 금융 계산 도구, 연속 적분 변환 및 이산 적분 변환 기능을 제공한다.
* 프로그래밍 및 인터페이스: 절차적 프로그래밍, 함수형 프로그래밍을 지원하는 다중 패러다임 프로그래밍 언어이며, 문자열 조작, 정규 표현식 및 의미 분석을 포함한 텍스트 마이닝 도구를 제공한다. 병렬 프로그래밍 도구를 지원하며, 계산 및 응용 프로그램을 위한 사용자 인터페이스 추가 도구를 포함한다.
* 데이터 조작 및 시각화: 2D/3D 데이터 및 함수의 시각화 및 애니메이션 도구를 제공하며, 그래프 시각화 및 분석 도구를 포함한다. 데이터, 이미지, 비디오, 오디오, CAD, GIS, 문서, 생물 의학 등 다양한 형식의 가져오기/내보내기 기능을 지원한다. 영상 인식을 포함한 영상 처리 및 형태학적 영상 처리 도구와 오디오/이미지 데이터의 웨이블릿 분석 라이브러리를 제공한다. 데이터 클러스터링, 시퀀스 정렬, 패턴 매칭 등의 데이터 마이닝 도구를 지원한다.
* 계산 가능한 데이터: 수학, 과학, 지리, 경제, 언어학 데이터베이스에 접근할 수 있으며, 기상, 금융의 과거 및 실시간 데이터 수집 기능을 제공한다. WolframAlpha 데이터 접근 및 계산이 가능하다.
* 문서: 수식 편집기 및 자동 보고서 생성을 포함한 과학 기술용 워드 프로세싱 기능을 제공한다.
3.1. 핵심 기능
--
매스매티카는 다음과 같은 핵심 기능을 제공한다.
* 수학 및 알고리즘
초등함수와 특수 함수의 수학적 함수 라이브러리
sparse arrays 지원을 포함하는 행렬 및 데이터 조작 툴
복소수, 임의 정밀도, 구간 연산, 기호적 연산 지원
디오판토스 방정식, 상미분방정식, 편미분방정식, 미분대수방정식, 지연미분방정식, 확률미분방정식, 재귀식 등의 방정식 시스템 해법
이산 및 연속 미적분학의 수치적 기호적 툴
140가지 이상의 분포 피팅, 가설 검정, 확률 계산, 기대값 계산, 다변량 통계학 라이브러리
검정된 데이터, 템포럴 데이터, 시계열 및 유닛 베이스 데이터 지원
랜덤 프로세스와 쿼리의 계산 및 시뮬레이션
2D, 3D, 그리고 고차원 계산기하학
정수론 함수 라이브러리
군론 및 기호적 텐서 함수
선형, 비선형 컨트롤 시스템 라이브러리
연속 및 이산 적분 변환
* 프로그래밍
절차적 프로그래밍, 함수형 프로그래밍, 객체 지향 프로그래밍 등을 지원하는 다중 패러다임 프로그래밍 언어 구성
계산 및 응용을 위한 사용자 인터페이스 추가 툴킷
* 데이터 처리 및 시각화
2D 및 3D 데이터, 함수 및 지리적 시각화, 애니메이션 툴
데이터, 이미지, 사운드의 지도 학습 그리고 자율 학습 머신 러닝 툴
영상 처리 및 수학 형태학의 2D 및 3D 툴
유향 그래프 및 무향 그래프의 시각화 및 분석 툴
조합론 문제(Combinatoric problems)를 위한 도구
문자열 조작, 정규 표현식 및 의미 분석을 포함하는 텍스트 마이닝 툴
클러스터 분석, 서열 정렬, 패턴 매칭 등의 데이터 마이닝 툴
데이터, 이미지, 동영상, 음향, 컴퓨터 지원 설계, GIS, 문서 및 생의학 등의 다양한 포맷 가져오기 및 내보내기 필터
수식 편집기, 자동 보고서 생성기 등 기술 용어 처리
* 계산 가능한 데이터
수학, 과학, 사회 경제 관련 정보 및 WolframAlpha가 제공하는 데이터와 연산에 접근 가능한 데이터베이스 컬렉션
DLL, SQL, Java, .NET, C++, Fortran, CUDA, OpenCL, 및 http 기반 시스템 연결 툴
병렬 프로그래밍 툴
인터넷 접속 시 "자유 형식 언어 입력" (자연어 사용자 인터페이스)과 Wolfram 언어를 노트북에 모두 사용
* 기타
채권, 연금, 파생 상품, 옵션 거래를 포함한 금융 계산 툴
음향과 이미지 데이터의 웨이블릿 분석을 포함한 신호 처리 라이브러리
Mathematica에는 일관된 프레임워크로 관리되는 데이터 집합이 포함되어 있어 즉시 계산에 사용할 수 있다. 이러한 데이터는 모델 평가 등의 목적으로 프로그램에서 사용할 수 있으며, 울프람 리서치의 데이터 서버에 자동으로 접속하여 최신 데이터로 업데이트할 수 있다. 주가나 기상 등의 데이터는 실시간으로 제공된다.
계산 가능한 데이터에는 다음과 같은 것들이 있다.
| 종류 | 내용 |
|---|---|
| 수학 데이터 | 195개의 다면체의 98가지 속성 데이터, 5300개의 그래프의 282가지 속성 데이터, 6개의 매듭의 64가지 속성 데이터, 21개의 격자의 38가지 속성 데이터 |
| 화학 데이터 | 44,000개의 화합물의 101가지 속성 데이터, 118개의 원소의 86가지 속성 데이터, 1000개의 소립자의 35가지 속성 데이터, 3200개의 동위원소의 33가지 속성 데이터 |
| 천문학 데이터 | 52개의 측지 좌표계의 32가지 속성 데이터, 156,000개의 천체의 99가지 속성 데이터 |
| 지정학 데이터 | 240개국의 223가지 속성 데이터, 164,000개의 세계 각지 도시의 14가지 속성 데이터 |
| 언어 데이터 | 149,000개의 영어 단어의 37가지 속성 데이터, 다른 26개 언어의 사전 |
| 생명 과학 데이터 | 40,000개의 인간 유전자의 41가지 속성 데이터, 27,000개의 단백질의 30가지 속성 데이터 |
| 금융 데이터 | 146,000개의 종목 및 금융 상품의 74가지 속성 데이터(이력 및 실시간) |
| 기상 데이터 | 22,000개의 세계 각지 관측 지점의 43가지 속성 데이터(이력 및 실시간) |
| Wolfram Alpha 데이터 | Wolfram Alpha로부터 1조를 넘는 방대한 데이터 |
3.2. 인터페이스
테오도어 그레이가 1988년에 디자인한 매스매티카의 원래 인터페이스는 노트북 인터페이스로, 코드, 일반 텍스트, 이미지 및 그래픽을 포함할 수 있는 노트북 문서를 생성하고 편집할 수 있다.
매스매티카는 커널(Kernel)과 프런트엔드(Front End) 두 부분으로 나뉜다. 커널은 울프럼 언어 코드를 해석하고 계산 결과를 반환하며, 이 결과는 프런트엔드에 의해 표시된다. 프런트엔드는 사용자와의 상호작용을 위한 그래픽 사용자 인터페이스(GUI)를 제공하며, 자동 구문 색상 지정, 입력 자동 완성, 디버거 등의 개발 도구 기능을 포함한다. 또한, 일반적인 워드 프로세싱 기능 대부분도 지원한다.
프런트엔드와 커널은 독립적으로 시작되며, "MathLink" 프로토콜을 사용하여 통신한다. 처음 매스매티카를 시작하면 커널은 시작되지 않은 상태이며, 프런트엔드에서 첫 번째 계산을 실행할 때 커널이 시작된다.
하나의 노트북에서 데이터 처리, 시각화, 문서 작성까지 원활하게 수행할 수 있다는 점은 매스매티카의 가장 큰 장점 중 하나이다. 노트북은 사용자의 입력(텍스트와 울프럼 코드)과 커널 연산 결과(그래픽과 사운드 포함)를 모두 계층적인 '셀'에 포함하여 문서의 개요 및 섹션 분할을 용이하게 한다. 노트북 내용은 모두 울프럼 언어로 기술되어 있으며, 울프럼 언어를 사용하여 생성, 수정, 해석할 수 있다. 노트북에서 TeX나 XML 등의 다른 형식으로 변환하는 기능은 이러한 구문 분석을 통해 이루어진다.
표준 노트북 인터페이스 외에도 다양한 대체 프런트엔드가 존재한다.
* 울프럼 워크벤치: 2006년에 도입된 이클립스 기반의 통합 개발 환경(IDE)이다. 버전 관리, 디버깅, 프로파일링 및 테스트를 포함하여 매스매티카를 위한 프로젝트 기반 코드 개발 도구를 제공한다.
* IntelliJ IDEA 기반 IDE용 플러그인: 구문 강조 기능과 더불어 로컬 변수와 정의된 함수를 분석하고 자동 완성 기능을 제공한다.
* 명령줄 프런트엔드: 매스매티카 커널에는 명령줄 프런트엔드가 포함되어 있다.
* JMath: GNU Readline을 기반으로 한다.
* WolframScript: 유닉스 명령줄에서 자체 포함된 매스매티카 프로그램(인수 포함)을 실행한다.
매스매티카 파일의 확장자는 .nb이며, 구성 파일의 경우 .m이다. 매스매티카는 이전 버전과 완벽하게 호환되는 안정적인 설계를 목표로 한다.
3.3. 고성능 컴퓨팅
1999년 버전 4에서 압축 배열을, 2003년 버전 5에서 희소 행렬을 도입하였고, GNU 다중 정밀도 산술 라이브러리를 채택하여 고정밀 연산이 가능해졌으며, 고성능 컴퓨팅 기능이 확장되었다.
2005년 버전 5.2에서는 다중 코어 컴퓨터에서 동작할 때 자동으로 멀티스레딩하는 기능을 추가하였다. 이 버전부터 CPU별로 최적화된 라이브러리를 채택하고 있다. 또한, 등의 서드파티 고속화 하드웨어가 Mathematica를 지원한다.
2002년, 이종 혼합형 클러스터 및 멀티프로세서 시스템에서 사용자 수준의 병렬 컴퓨팅을 가능하게 하는 를 출시하였다. 2008년에는 병렬 컴퓨팅 기술이 일반 Mathematica 라이선스에 포함되고, Windows HPC Server 2008, Microsoft Compute Cluster Server, Sun Grid를 지원하게 되었다.
2010년부터 CUDA 및 OpenCL을 지원하는 GPU 하드웨어를 지원한다.
3.4. 다른 응용 프로그램과의 연결
매스매티카는 WSTP(Wolfram Symbolic Transfer Protocol)라는 프로토콜을 사용하여 다른 응용 프로그램과 통신할 수 있다. WSTP는 매스매티카 커널과 프런트 엔드 간의 통신을 가능하게 하며, 커널과 다른 응용 프로그램 간의 일반적인 인터페이스를 제공한다.
울프럼 리서치는 J/Link를 무료로 배포하여 C로 작성된 응용 프로그램이 WSTP를 통해 매스매티카 커널에 연결할 수 있도록 지원한다. J/Link는 Java 프로그램에서 매스매티카에 계산을 요청할 수 있게 해준다. .NET/Link는 .NET 프로그램을 사용하여 J/Link와 유사한 기능을 수행한다.
매스매티카는 Haskell, AppleScript, Racket, Visual Basic, Python, 클로저 등 다양한 프로그래밍 언어와 연결할 수 있다.
DatabaseLink 툴킷을 사용하여 SQL 데이터베이스를 처리할 수 있으며, JDBC 및 ODBC 연결을 지원한다. RLink는 통계 분석용 프로그래밍 언어 R과 통신하여 매스매티카 내에서 R 코드를 실행할 수 있도록 해주며, 버전 9부터 공식적으로 지원된다.
매스매티카는 Modelica 모델을 생성하고 실행하여 시스템 모델링을 지원하며, Wolfram System Modeler와 연결된다. 또한, 다양한 타사 소프트웨어 패키지 및 API와도 연결할 수 있다.
매스매티카는 다양한 출처로부터 실시간 데이터를 캡처할 수 있으며, 비트코인, 이더리움 등 공용 블록체인에 읽고 쓸 수 있다. 랩뷰, 금융 데이터, GPIB (IEEE 488), USB, 시리얼 연결 등을 통해 실시간 데이터 스트림을 수신할 수 있다. HID 장치의 입력을 자동으로 감지하여 읽을 수도 있다.
4. 응용 분야
5. 라이선스 및 플랫폼
매스매티카는 영리 목적, 교육용 등 사용 용도에 따라 가격이 다른 상용 사유 소프트웨어이다. 마이크로소프트 윈도우 (Vista, 7, 8, 10), 애플의 macOS, 리눅스, Raspbian 및 온라인 서비스 등 다양한 버전을 지원한다. 모든 플랫폼에서 64비트 버전을 지원한다.
과거 지원했던 운영 체제로는 넥스트스텝(NeXTSTEP), 솔라리스(Solaris), AIX, 컨벡스 컴퓨터(Convex), HP-UX, IRIX, MS-DOS, OS/2, 울트릭스(Ultrix), 윈도우즈 미(Windows Me), 윈도우즈 XP(Windows XP) 등이 있다.
매스매티카는 전용 시스템이며, 정부 기관, 비영리 단체, 교육 기관, 학생, 가정용으로는 저렴한 가격을 책정하고 있다. 예를 들어, 학생용 제품(내용은 정품과 동일)은 정가의 약 5%에 구입할 수 있다. 교육 기관용 라이선스로 계약한 경우, 학생은 가정에서도 매스매티카를 사용할 수 있다. 지정된 수의 매스매티카를 네트워크상에서 동시에 실행할 수 있는 네트워크 라이선스도 제공하고 있다.
매스매티카의 가격은 지역에 따라서도 크게 다르다. 미국과 일본의 가격 차이는 전화 지원을 포함하여 국내(일본)에서 일본어로 문의할 수 있는 점, 일본어 기술 지원, 유료 세미나의 반값 할인(일부 대리점만 해당) 등의 서비스 차이에 의해 발생하고 있다.