필사 모드: 수학 & 과학 계산 도구 2026 — Mathematica / MATLAB / Maple / SageMath / Julia 1.11 / R Posit / JAX / GeoGebra / Desmos / GAP / Macaulay2 심층 가이드
한국어프롤로그 — "수학을 컴퓨터로 푼다"의 의미가 바뀌었다
20세기 후반의 수학 소프트웨어는 단순했다. 한 가지 도구 — Mathematica든 MATLAB이든 Maple이든 — 가 모든 걸 해야 했다. 라이선스 한 개에 학생은 천 달러를, 학교는 십만 달러를 냈다. 코드는 그 도구의 언어로만 살았다.
2026년 풍경은 다르다.
- **오픈소스가 진짜로 따라잡았다.** SageMath가 2005년 시작해 20년이 지나 종합 CAS로 자리잡았다. Julia는 1.11에서 정식 안정 ABI를 잠갔다. R + tidyverse는 통계 표준이고, Python의 NumPy/SciPy/SymPy/Pandas/Polars 조합은 과학 컴퓨팅의 사실상 표준이 됐다.
- **상용은 여전히 살아있다.** Mathematica는 LLM 통합과 자연어 함수, MATLAB은 Simulink와 산업 인증, Maple은 정밀한 교과 통합으로 자기 자리를 지킨다. 다만 "학생이 처음 만나는 도구"의 자리는 잃었다.
- **클라우드가 들어왔다.** CoCalc, Wolfram Cloud, Google Colab, Posit Cloud, Hex, Deepnote가 노트북을 브라우저로 가져왔다. 라이선스 모델보다 SaaS 모델이 빠르게 자리잡고 있다.
- **AI가 끼어들었다.** Wolfram은 Mathematica에 LLMFunction을, MathWorks는 MATLAB Copilot을, Posit은 Positron에 AI 어시스턴트를 넣었다. SymPy와 SageMath는 Jupyter AI로 자연어 입력을 받는다.
이 글은 그 지형 전체를 본다. 상용 4 거인(Mathematica/MATLAB/Maple/Magma), 오픈 종합(SageMath/Julia/R/Python), 교육 도구(GeoGebra/Desmos), 특화 대수(GAP/Macaulay2/Singular), 클라우드(CoCalc/Wolfram Cloud), 그리고 CAS 진영(SymPy/Symbolics.jl/Maxima/Reduce/Pari-GP)을 다룬다. 마지막으로 학생/연구자/공학자/교육자별로 무엇을 골라야 하는지 권고한다.
1장 · 2026년 수학 / 과학 계산 지도 — 4 분류
도구는 너무 많다. 한 번 분류해두자.
┌────────────────────────────────────────────────────────────────┐
│ 2026 수학/과학 계산 4 분류 │
│ │
│ ┌─────────────────┐ ┌─────────────────────┐ │
│ │ 상용 종합 │ │ 오픈소스 종합 │ │
│ │ │ │ │ │
│ │ - Mathematica │ │ - SageMath │ │
│ │ - MATLAB/Simulink│ │ - Julia 1.11 │ │
│ │ - Maple │ │ - R + tidyverse │ │
│ │ - Magma │ │ - Python sci-stack │ │
│ └─────────────────┘ └─────────────────────┘ │
│ │
│ ┌─────────────────┐ ┌─────────────────────┐ │
│ │ 교육 │ │ 특화 / CAS │ │
│ │ │ │ │ │
│ │ - GeoGebra │ │ - GAP (군) │ │
│ │ - Desmos │ │ - Macaulay2 (AG) │ │
│ │ - Wolfram Alpha │ │ - Singular │ │
│ │ - Khan Mathway │ │ - Pari/GP (수론) │ │
│ │ │ │ - Maxima / Reduce │ │
│ │ │ │ - SymPy / Symbolics │ │
│ └─────────────────┘ └─────────────────────┘ │
└────────────────────────────────────────────────────────────────┘
각 분류의 정신모델은 다르다.
| 분류 | 정신모델 | 사용자 | 라이선스 |
| --- | --- | --- | --- |
| 상용 종합 | "한 통에 다 들어있다" | 산업, 연구실, 학생(라이선스 학교) | 유료 |
| 오픈소스 종합 | "쌓아서 만든다" | 연구자, 스타트업, 자가 학습자 | 무료 |
| 교육 | "보고 만진다" | K-12, 학부 1~2학년, 교사 | 무료/저가 |
| 특화 / CAS | "이 좁은 분야만큼은 최고" | 박사과정 이상, 전문 연구자 | 혼합 |
실제 연구실은 보통 **2-3 도구를 섞는다**. MATLAB으로 시뮬레이션, Mathematica로 상징 풀이, Python으로 데이터 처리. 또는 Julia로 PDE 풀고, R로 통계 검증, SageMath로 대수 확인. 한 도구가 모든 걸 잘하는 시대는 끝났다.
2장 · Wolfram Mathematica — 프리미엄 상징 계산의 표준
**Mathematica**는 1988년 Stephen Wolfram이 발표한 이래 상징 계산의 표준이다. 2026년 버전은 14.x 대다. Wolfram Language(WL)라는 자기만의 언어를 갖고, 모든 것이 식(expression)인 패턴 매칭 기반 함수형 언어다.
핵심 강점
- **상징 계산의 깊이.** Integrate, Solve, DSolve, Series, Reduce — 거의 모든 폐쇄형 풀이가 한 줄이다.
- **Wolfram|Alpha와의 통합.** 자연어 입력 `=어제 서울 기온`이 식으로 평가된다.
- **방대한 내장 데이터.** ChemicalData, CountryData, FinancialData, GenomeData — 학술 데이터셋 수백 개가 함수로 노출된다.
- **노트북 UI.** 식·그래프·텍스트·상호작용 위젯(Manipulate)이 한 셀에서 산다. 인터랙티브 시연이 강하다.
- **LLM 통합.** 13.3부터 LLMFunction, ChatEvaluator가 정식 들어왔다. Mathematica 안에서 GPT-4, Claude를 호출하고 그 결과를 식으로 받는다.
코드 한 조각
(* 미분 방정식 풀기 *)
DSolve[{y'[x] + y[x] == Sin[x], y[0] == 1}, y[x], x]
(* 인터랙티브 위젯 *)
Manipulate[
Plot[Sin[a x + b], {x, 0, 2 Pi}],
{a, 1, 5}, {b, 0, 2 Pi}
]
(* LLM 호출도 한 줄 *)
LLMFunction["다음 정리를 영어로 증명해 줘: {1}"][myTheorem]
약점과 비판
- **가격.** 학생 라이선스 약 $169/년, 개인 $440/년, 회사용은 천 단위. 학교 사이트 라이선스는 비밀이지만 십만~수십만.
- **벤더 락인.** WL 코드는 다른 곳으로 안 옮긴다. 오픈소스 백엔드가 없다.
- **속도.** 수치 계산은 MATLAB/NumPy보다 일반적으로 느리다(상징은 압도적).
- **현대 ML 부재.** PyTorch/JAX 같은 표준 ML 도구가 없다. NetTrain은 자체 시스템.
2026년 위치
- 가장 잘 맞는 곳: **상징 풀이, 노트북 시연, 데이터 시각화, 수학 교과 (라이선스 학교)**
- 가장 안 맞는 곳: **딥러닝, 대규모 데이터 처리, 오픈소스 협업**
- 한 줄 평: "상징 계산이 핵심이고 학교가 라이선스를 사준다면 여전히 1등."
3장 · MATLAB + Simulink (MathWorks) — 공학 산업 표준
**MATLAB**(MATrix LABoratory)은 1984년 출시 후 전기·기계·자동차·항공 분야의 사실상 표준이다. 2026년 시점 R2026a 대다. Simulink는 블록 다이어그램 기반 시뮬레이션 도구로, MATLAB과 짝을 이룬다.
왜 산업이 못 떠나는가
- **인증.** DO-178C(항공), ISO 26262(자동차), IEC 61508(산업) 인증된 모델-기반 설계 툴체인을 가졌다. Simulink Coder가 모델에서 C 코드를 생성하고, 그 코드가 인증을 통과한다.
- **툴박스.** Control System, Signal Processing, Aerospace, Powertrain Blockset — 산업 도메인 100여 개에 대해 검증된 알고리즘이 박혀 있다.
- **HDL/Embedded Coder.** 모델 → C/C++/Verilog/HDL/PLC 자동 생성. 임베디드와 FPGA 워크플로의 표준.
- **수치 안정성.** LAPACK 위에 수십 년 튜닝된 코드. 행렬 연산의 신뢰도는 압도적.
코드 한 조각
% 상태공간 시스템 시뮬레이션
A = [-0.5 1; 0 -1];
B = [0; 1];
C = [1 0];
sys = ss(A, B, C, 0);
t = 0:0.01:10;
u = ones(size(t));
[y, t] = lsim(sys, u, t);
plot(t, y)
% 신호 처리 — FFT
Fs = 1000;
t = 0:1/Fs:1-1/Fs;
x = sin(2*pi*50*t) + sin(2*pi*120*t) + randn(size(t));
Y = fft(x);
P2 = abs(Y/length(x));
plot(Fs*(0:(length(x)/2))/length(x), P2(1:length(x)/2+1))
2026년 변화
- **MATLAB Online** + **MATLAB Mobile** — 라이선스가 있으면 브라우저/스마트폰에서 곧장 돌릴 수 있다.
- **AI Chat in MATLAB** — IDE 안에 어시스턴트가 들어왔다. 코드 설명, 디버그, 함수 추천.
- **Python 통합 강화** — py.* 네임스페이스로 NumPy/PyTorch를 MATLAB에서 호출. 반대도 matlab.engine으로.
- **Apple Silicon 네이티브** — 2024년 R2024a부터 ARM64 macOS 네이티브. 성능 대폭 개선.
약점
- **가격.** 학생 $99, 개인 $149, 회사 $940/년 (코어). 툴박스는 별도. 한 연구실이 20개 툴박스를 쓰면 수만 달러.
- **언어 한계.** 객체지향은 어색하고, 패키지 매니저(MATLAB File Exchange)는 npm/PyPI에 못 미친다.
- **GIL 비슷한 제약.** parfor는 강력하지만 분산은 PCT(Parallel Computing Toolbox) 추가 결제.
- **오픈소스 진영 부재.** GitHub Actions가 못 돌린다(라이선스). 협업 마찰.
위치
- 가장 잘 맞는 곳: **공학(EE/ME/AE) 학부·대학원, 자동차·항공·국방 R&D, 신호처리, 제어**
- 가장 안 맞는 곳: **데이터과학·통계(R), 머신러닝(Python), 학부 1학년 수학(GeoGebra)**
- 한 줄 평: "공학 산업에서는 여전히 떠날 수 없다. 학계는 점점 떠난다."
4장 · Maple (Maplesoft) — Mathematica의 영원한 경쟁자
**Maple**은 1980년 워털루 대학교에서 시작된 CAS다. 2025년 Maple 2025가 출시됐다. Mathematica와 자주 비교되지만 정신모델이 다르다.
Mathematica와의 차이
| 항목 | Mathematica | Maple |
| --- | --- | --- |
| 언어 패러다임 | 함수형 + 패턴 매칭 | 명령형 + 절차적 |
| 노트북 | 노트북 우선 | Worksheet (보수적) + Math Mode |
| 강점 | 상징 + 데이터 + 시각화 | 미분방정식 + 정수론 + 교과 통합 |
| 가격 | 비싸다 | 비싸다 (조금 더 쌈) |
| 학교 채택 | 미국·이공계 우세 | 캐나다 + 유럽 + 일부 한국 |
Maple의 진짜 강점
- **MapleSim** — Simulink 경쟁자. 물리 기반 모델링이 강하다.
- **Maple Calculator + Maple Learn** — 교과서 결합 워크플로. 학생이 단계별 풀이를 볼 수 있다.
- **MapleFlow** — 엔지니어링 계산서 도구. MathCAD 후계로 자리를 잡는 중이다.
- **Grid Computing Toolbox** — 노드 분산이 비교적 단순.
코드 한 조각
ODE 풀이
ode := diff(y(x), x, x) + y(x) = sin(x);
sol := dsolve({ode, y(0) = 1, D(y)(0) = 0}, y(x));
정수론
isprime(2^127 - 1); # Mersenne prime
ifactor(2^256 - 1);
단계별 풀이
Student[Calculus1]:-ShowSolution(int(x^2 * exp(x), x));
위치
- 가장 잘 맞는 곳: **공학 교과(특히 ODE/PDE), 학부 수학 강의실, MapleSim을 쓰는 자동차 시뮬레이션**
- 가장 안 맞는 곳: **상징 풀이의 절대 깊이(Mathematica가 더 강함), 머신러닝, 데이터 분석**
- 한 줄 평: "Mathematica를 살 수 있는 학교라면 둘 중 하나는 고를 만하다. 교과 통합이 핵심이면 Maple."
5장 · SageMath — 오픈소스 종합 CAS
**SageMath**는 2005년 William Stein이 시작한 오픈소스 수학 시스템이다. 목표는 명확했다 — "Mathematica/Maple/Magma의 오픈소스 대안." 2026년 9.x 후반대로 가고 있다.
구조 — 합성 시스템
Sage는 처음부터 **다른 도구들의 인터페이스**로 설계됐다. Python을 인터페이스 언어로 두고, 내부에서 GAP, PARI, Singular, Maxima, FLINT, GMP, NumPy, SciPy, NetworkX 등 100여 개의 패키지를 호출한다.
┌──────────────────────────────────────────────────┐
│ SageMath = "조립품" │
│ │
│ 사용자 인터페이스 (Python + Sage 확장) │
│ │ │
│ ┌───────────▼───────────────────────────────┐ │
│ │ 상징: Maxima, SymPy, Pynac, Sympy │ │
│ │ 수치: NumPy, SciPy, R │ │
│ │ 정수론: PARI, FLINT, ECL │ │
│ │ 군: GAP │ │
│ │ 대수기하: Singular, Macaulay2 (선택) │ │
│ │ 그래프: NetworkX │ │
│ │ LP/MIP: GLPK, PPL, Coin-OR │ │
│ └───────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘
코드 한 조각
Sage는 Python 슈퍼셋
정수론
E = EllipticCurve([0, 0, 1, -1, 0])
print(E.rank()) # 0
print(E.j_invariant())
미분방정식
x = var('x')
y = function('y')(x)
de = diff(y, x, 2) + y == sin(x)
desolve(de, y, ics=[0, 1, 0])
다항환
R.<x, y> = QQ[]
I = R.ideal(x^2 + y^2 - 1, x - y)
print(I.groebner_basis())
2026년 현황
- **개발 속도** — 코어 개발자가 줄었다. William Stein은 CoCalc로 이동, 일부는 산업으로. 그러나 패치 흐름은 유지된다.
- **Jupyter 통합** — Sage 노트북은 Jupyter 기반이 표준이 됐다.
- **CoCalc 백엔드** — CoCalc가 사실상 Sage의 클라우드 호스트.
- **AI 통합** — 자연어 → Sage 코드 변환이 jupyter-ai로 들어왔다. 정밀도는 아직 보장 안됨.
위치
- 가장 잘 맞는 곳: **수학 박사과정, 정수론·대수기하 연구, 학부 수학 (특히 비싼 라이선스 대안), 무료 교육**
- 가장 안 맞는 곳: **공학 인증 워크플로(MATLAB), Mathematica의 자연어 입력, 폐쇄형 적분 정밀도**
- 한 줄 평: "오픈소스 CAS의 종착역. 학부생이 Mathematica 못 사면 SageMath."
6장 · Julia 1.11 — 과학 계산 우선 설계
**Julia**는 2012년 MIT에서 발표된 언어다. 슬로건은 분명했다 — "Walks like Python, runs like C." 2024년 1.10 LTS와 2025년 1.11 안정 출시 이후, 2026년에는 1.12로 가고 있다.
Julia가 푸는 문제 — Two-language problem
Python 과학 컴퓨팅의 본질적 문제 — 핫 루프는 결국 C/Fortran으로 내려간다. NumPy가 빠른 건 NumPy가 C이기 때문이다. Julia는 **하나의 언어로 둘 다** 한다 — JIT 컴파일 + 다중 디스패치 + 강력한 타입 시스템.
코드 한 조각
using DifferentialEquations, Plots
function lorenz!(du, u, p, t)
σ, ρ, β = p
du[1] = σ * (u[2] - u[1])
du[2] = u[1] * (ρ - u[3]) - u[2]
du[3] = u[1] * u[2] - β * u[3]
end
u0 = [1.0, 0.0, 0.0]
tspan = (0.0, 100.0)
p = (10.0, 28.0, 8/3)
prob = ODEProblem(lorenz!, u0, tspan, p)
sol = solve(prob, Tsit5(), reltol=1e-8, abstol=1e-8)
plot(sol, idxs=(1, 2, 3))
이 코드는 Python+NumPy로 짠 동등 버전보다 보통 **5~50배 빠르다**. 그리고 SciML 생태계는 PDE, SDE, DAE, neural ODE까지 일관된 인터페이스로 다룬다.
2026년 Julia 생태계
- **SciML** — DifferentialEquations.jl, ModelingToolkit.jl, Symbolics.jl — 과학 머신러닝의 표준 스택.
- **Flux.jl / Lux.jl** — Julia 네이티브 ML.
- **Pluto.jl** — 반응형 노트북. Jupyter와 다른 정신모델 (셀이 의존성 그래프를 갖는다).
- **Julia for HPC** — DOE 슈퍼컴퓨터에서 점점 채택. CliMA(기후 모델링), Celeste(천체 분류) 등.
- **Symbolics.jl** — Julia 네이티브 CAS. SymPy보다 빠르다는 평이 많다.
약점
- **컴파일 지연.** "Time to first plot" 문제. 1.9+에서 PCG로 많이 개선됐지만 여전히 거슬린다.
- **생태계 크기.** Python 대비 작다. 라이브러리 검색이 어렵다.
- **회사 채용 시장.** Python/R/MATLAB 대비 Julia 잡 공고가 적다. 학계 vs 산업 비대칭.
- **버전 안정성 인식.** 1.x여도 패키지 호환성 깨지는 일이 종종.
위치
- 가장 잘 맞는 곳: **과학 머신러닝, 미분방정식 풀이, HPC, 양자/플라스마/기후 시뮬레이션, 금융 모델링**
- 가장 안 맞는 곳: **웹 서비스, 짧은 스크립트, 회사 데이터 분석 팀(Python이 표준)**
- 한 줄 평: "수치 + 상징 + 미분방정식을 한 언어로 풀고 싶으면 Julia 1.11이 정답."
7장 · R + tidyverse + Posit (구 RStudio) — 통계의 표준
**R**은 1993년 출시된 통계 전용 언어다. 2026년 4.x 대다. R 자체보다 더 중요한 것은 **tidyverse** 생태계와 그걸 끌고 가는 회사 **Posit**(2022년 RStudio에서 사명 변경)이다.
왜 R은 죽지 않았는가
10년간 "Python이 R을 대체할 것"이라는 예측이 반복됐다. 2026년에도 R은 살아있다. 이유:
- **통계학자가 만든 언어.** lm, glm, summary, anova가 일급 함수다. Python에서는 statsmodels로 비슷한 걸 하지만 결과 출력 품질이 다르다.
- **tidyverse.** dplyr, tidyr, ggplot2, purrr, readr — Hadley Wickham이 설계한 일관된 인터페이스. 데이터 분석의 정신모델이 그대로 코드가 된다.
- **CRAN.** 패키지 품질 통제가 PyPI보다 빡세다. 학계가 출판한 통계 방법 거의 모두 CRAN에 있다.
- **Quarto** — R Markdown 후계. Posit이 2022년 출시. Python, R, Julia, Observable 모두 지원하는 멀티 언어 문서.
코드 한 조각
library(tidyverse)
library(lme4)
tidyverse 데이터 파이프라인
mtcars |>
as_tibble(rownames = "model") |>
group_by(cyl) |>
summarise(
mean_mpg = mean(mpg),
n = n(),
.groups = "drop"
) |>
ggplot(aes(x = factor(cyl), y = mean_mpg)) +
geom_col(fill = "steelblue") +
labs(x = "Cylinders", y = "Mean MPG")
혼합효과 모델
model <- lmer(mpg ~ wt + (1 | cyl), data = mtcars)
summary(model)
Posit (구 RStudio)
2022년 RStudio가 **Posit**으로 사명 변경한 이유 — "우리는 R 회사가 아니라 데이터과학 회사다." 이후:
- **Positron** — RStudio의 후계 IDE. VS Code 기반, Python + R + Julia 동등 지원. 2024년 베타, 2025년 안정. RStudio는 유지되지만 신규 개발은 Positron으로.
- **Quarto** — 멀티언어 문서 시스템.
- **Posit Cloud** — 브라우저 R/Python 환경.
- **Shiny** — R/Python 양쪽 지원하는 웹앱 프레임워크.
약점
- **속도.** R 코어는 빠르지 않다. data.table, Rcpp, arrow로 대응.
- **머신러닝 생태계.** Python(PyTorch/scikit-learn)에 못 미친다. tidymodels로 따라가는 중.
- **에디터 의존.** RStudio/Positron 밖에서는 R 경험이 떨어진다.
- **언어 일관성.** S3/S4/R5/R6 객체 시스템이 4종 — 학습 곡선이 일정하지 않다.
위치
- 가장 잘 맞는 곳: **통계, 역학(epidemiology), 임상, 사회과학, 데이터 저널리즘**
- 가장 안 맞는 곳: **딥러닝, 대규모 ETL, 일반 백엔드, 실시간 시스템**
- 한 줄 평: "데이터 분석이 통계학에 가깝다면 R + tidyverse. 컴퓨터과학에 가깝다면 Python."
8장 · Python 과학 스택 — NumPy / SciPy / SymPy / Pandas / Polars
Python은 2026년에도 데이터·과학·ML의 사실상 표준 언어다. 한 도구가 아니라 **스택**이다.
스택 구조
┌──────────────────────────────────────────────────────┐
│ Python 과학 스택 (2026) │
│ │
│ 애플리케이션 ┌────────────────────────────┐ │
│ │ Jupyter, Streamlit, Dash │ │
│ └────────────────────────────┘ │
│ 통계 / ML ┌────────────────────────────┐ │
│ │ statsmodels, scikit-learn, │ │
│ │ PyTorch, JAX │ │
│ └────────────────────────────┘ │
│ 데이터프레임 ┌────────────────────────────┐ │
│ │ Pandas 2.x, Polars, │ │
│ │ DuckDB │ │
│ └────────────────────────────┘ │
│ 상징 / CAS ┌────────────────────────────┐ │
│ │ SymPy │ │
│ └────────────────────────────┘ │
│ 수치 / 과학 ┌────────────────────────────┐ │
│ │ NumPy 2.x, SciPy 1.14+, │ │
│ │ Matplotlib │ │
│ └────────────────────────────┘ │
│ 저수준 / 가속 ┌────────────────────────────┐ │
│ │ Numba, Cython, mypyc │ │
│ └────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
2026년 주목해야 할 변화
- **NumPy 2.x** — 2024년 6월 NumPy 2.0 출시. ABI break가 있었고 1년 만에 생태계가 따라왔다. 더 일관된 dtype 시스템.
- **Pandas 2.x + PyArrow backend** — Arrow 백엔드가 옵션이 아니라 기본으로 가고 있다.
- **Polars** — Rust로 작성된 데이터프레임 라이브러리. 큰 데이터에서 Pandas보다 빠르다. Lazy API가 강력.
- **SymPy 1.13+** — 상징 계산. Mathematica 대비 느리지만 무료 + Python.
- **DuckDB + Ibis** — 노트북 안에서 OLAP 쿼리. CSV/Parquet을 SQL로 직접 처리.
코드 한 조각
수치
A = np.random.randn(1000, 1000)
e = np.linalg.eigvals(A)
Polars (Pandas보다 빠른 데이터프레임)
df = (
pl.scan_csv("sales.csv")
.filter(pl.col("amount") > 100)
.group_by("region")
.agg(pl.col("amount").sum().alias("total"))
.collect()
)
SymPy 상징 풀이
x = sp.Symbol("x")
integral = sp.integrate(sp.sin(x) * sp.exp(-x), x)
print(sp.latex(integral))
Python 스택의 약점
- **속도.** 핫 루프는 NumPy/Numba/Cython으로 내려야 한다. Two-language problem.
- **패키지 의존성 지옥.** conda/pip/uv/poetry/pixi 다섯 가지 도구가 공존. 2026년에는 uv가 표준으로 빠르게 자리잡고 있다.
- **상징 깊이.** SymPy는 Mathematica/Maple의 정밀도와 속도에 미치지 못한다.
위치
- 가장 잘 맞는 곳: **거의 모든 데이터·과학·ML 워크플로, 학부 1학년부터 박사까지 범용**
- 가장 안 맞는 곳: **공학 인증(MATLAB이 표준), 고급 상징 풀이(Mathematica), Julia가 우월한 PDE**
- 한 줄 평: "고민될 때는 Python으로 시작하는 게 안전한 선택이다."
9장 · GeoGebra + Desmos — 교육 현장의 두 거인
수학 교육에서 가장 많이 쓰이는 도구는 Mathematica도 MATLAB도 아니다. **GeoGebra**와 **Desmos**다.
GeoGebra
- **출신.** 2001년 오스트리아 잘츠부르크 대학교의 Markus Hohenwarter가 박사 프로젝트로 시작.
- **포지셔닝.** 기하 + 대수 + 미적분 + 통계의 통합 다이내믹 수학.
- **사용자.** 전 세계 1억 명. 학교 라이선스 거의 무료.
- **모듈.** Graphing, Geometry, 3D Calculator, CAS, Classic, Notes, Suite — 2024년 통합 Suite로 정리.
GeoGebra Suite (2026)
├── Graphing Calculator (Desmos급 함수 그래프)
├── Geometry (Euclid 작도)
├── 3D Calculator (공간 시각화)
├── CAS Calculator (상징 계산, Maxima 기반)
├── Notes (디지털 화이트보드)
└── Classic 6 (모든 기능 통합 데스크탑)
Desmos
- **출신.** 2011년 Eli Luberoff 창업. 2022년 Amplify에 인수됐다(교과 부분), 그래프 계산기는 별도 비영리.
- **포지셔닝.** "최고의 함수 그래프 계산기" + K-12 교과 통합.
- **사용자.** 미국 K-12의 사실상 표준. SAT/ACT 인증.
- **2024년 출시 Geometry Tool** — GeoGebra Geometry와 경쟁.
비교
| 항목 | GeoGebra | Desmos |
| --- | --- | --- |
| 강점 | 기하 + CAS + 3D | 함수 그래프 UX, 교과 액티비티 |
| 약점 | UI가 무겁다 | CAS 약함, 3D 약함 |
| 가격 | 무료 (재단) | 무료 (비영리) |
| 한국 | 많이 채택, EBS 협업 | 일부 학교, 영어 장벽 |
| 일본 | 보급 보통 | 보급 약함 |
| 모바일 | iOS/Android 정식 | iOS/Android 정식 |
위치
- GeoGebra는 **기하 + 시각화 + CAS**가 필요한 학교/대학 1~2학년에 적합.
- Desmos는 **함수 그래프 + 활동 기반 학습**이 핵심인 K-12에 적합.
- 학년이 올라가서 미적분, 선형대수, 미방으로 가면 **SageMath 또는 Mathematica로 졸업**한다.
10장 · GAP / Macaulay2 / Magma / Singular — 특화 대수
박사과정 이상으로 가면, 종합 도구가 풀지 못하는 좁은 분야들이 있다. 거기서 자리잡은 **특화 CAS** 네 개를 본다.
GAP — 계산 군론
**GAP**(Groups, Algorithms, Programming)은 1986년 RWTH Aachen에서 시작한 군론 시스템이다. 2026년 4.13+ 대. 유한군, 표현론, 부분군 격자, 군 코호몰로지가 핵심.
gap> G := SymmetricGroup(5);
Sym( [ 1 .. 5 ] )
gap> Order(G);
120
gap> ConjugacyClasses(G);
[ ()^G, (1,2)^G, (1,2)(3,4)^G, (1,2,3)^G, ...]
gap> IsSimple(G);
false
Macaulay2 — 계산 대수기하
**Macaulay2**는 1992년 Daniel Grayson과 Michael Stillman이 시작한 가환환 + 대수기하 시스템. 환, 아이디얼, 그뢰브너 기저, 자유 분해, 호몰로지 대수가 핵심.
i1 : R = QQ[x, y, z]
o1 = R
i2 : I = ideal(x^2 - y, y^2 - z, x*y - z)
o2 = ideal (x^2 - y, y^2 - z, x*y - z)
i3 : gens gb I
o3 = | yz-x z2-y2 xz-y2 y2-z xy-z x2-y |
Magma — 상용 가환대수
**Magma**는 시드니 대학교의 Computational Algebra Group이 개발한 **유료** 시스템(1993~). 정수론, 대수기하, 코딩이론, 표현론에서 가장 강하다는 평. GAP/M2와 같이 쓰는 일도 흔하다.
가격은 라이선스 협상 — 학생 라이선스가 별도 있다. SageMath가 Magma의 일부 기능을 호출하는 옵션이 있지만 라이선스가 필요하다.
Singular — 다항식 대수
**Singular**는 1984년 카이저슬라우테른 대학교에서 시작한 다항식 계산 시스템. 그뢰브너 기저, 자유 분해, 특이점 해석이 핵심. SageMath의 다항환 백엔드로도 쓰인다.
4개 비교
| 시스템 | 출신 | 강점 | 라이선스 |
| --- | --- | --- | --- |
| GAP | RWTH Aachen | 유한군, 표현론 | GPL |
| Macaulay2 | Illinois/Cornell | 가환환, 자유 분해 | GPL |
| Magma | Sydney | 정수론, 상위 대수 | 상용 |
| Singular | TU Kaiserslautern | 다항환, 그뢰브너 | GPL |
위치
- 학부에는 거의 안 쓰인다. 박사과정에서 분야에 따라 필수.
- SageMath가 GAP, Singular을 내장한다 — Sage 안에서 자연스럽게 호출 가능.
- Macaulay2는 Sage가 별도 호출 (`macaulay2.eval()`).
- Magma는 라이선스 부담이라 학교 사이트 라이선스에 따라 사용 가능 여부가 다르다.
11장 · CoCalc — 클라우드 SageMath + Jupyter
**CoCalc**는 William Stein이 2013년 시작한 클라우드 협업 노트북 플랫폼이다. SageMath의 사실상 클라우드 호스트.
무엇을 제공하나
- **SageMath, Jupyter, R, Julia, Octave 노트북** 브라우저에서.
- **풀 Linux 터미널** — LaTeX 컴파일, gnuplot, git까지.
- **실시간 협업** — 구글 닥스 같은 동시 편집.
- **과제 / 채점 시스템** — 교사가 학생 노트북을 받고 자동 채점.
- **시간되감기** — 모든 편집 히스토리를 슬라이더로 재생.
가격 (2026)
- 무료 — 인터넷 접근 없음, 1GB 메모리, 1 CPU
- 학생 — 월 $5 정도 (인터넷 + 더 많은 자원)
- 교사 / 연구실 — 월 $14~ 부터 (사이트 라이선스 별도)
CoCalc의 핵심 가치
수업에서 **모두가 같은 환경**을 갖는다. SageMath/Jupyter 설치 안되는 학생, M1 Mac 호환 안되는 패키지, 윈도우에서 깨지는 LaTeX — 이 모든 문제가 사라진다. 학부 강의에서 큰 가치.
위치
- 학부 수학 / 통계 강의의 표준 인프라.
- 박사과정 연구에는 한계 — 큰 메모리, GPU 등은 별도.
- 자기 호스트가 가능한 오픈소스 버전도 존재(KuCalc).
12장 · Wolfram Cloud + Wolfram Alpha API
**Wolfram Cloud**는 Mathematica의 클라우드 버전. **Wolfram Alpha API**는 자연어 수학 풀이를 외부 앱에서 호출하는 API.
Wolfram Cloud
- 브라우저에서 Wolfram Language 노트북.
- **Cloud Notebook** + **Deployable APIs** — 노트북을 그대로 웹 API로 배포 가능.
- **Free Tier**가 있다. 단, 계산량 제한.
- 가격 — 개인 $5~/월 부터 시작, 비즈니스는 별도.
Wolfram Alpha API
client = wolframalpha.Client(app_id="XXXX")
res = client.query("integral of sin(x)^2 from 0 to pi")
print(next(res.results).text)
-> "pi/2"
- 자연어 입력 → Wolfram 식 평가 결과.
- 챗봇, 교육 앱, 그래프 계산기에 자주 박힌다.
- 무료 — 월 2,000 호출. 그 이상은 유료.
활용 시나리오
- 챗봇이 수학 질문을 받으면 Alpha API에 떠넘긴다.
- 학습 앱이 단계별 풀이를 보여줄 때 사용.
- Mathematica 라이선스 없는 사람이 일회성 문제 풀이.
13장 · JAX (Google) — 과학 + ML 융합
**JAX**는 Google이 2018년 발표한 라이브러리. "NumPy + autograd + XLA"의 조합이다. 2026년에는 과학 계산과 ML의 교차점에서 가장 뜨거운 도구.
정신모델
- API는 NumPy와 거의 동일 — 학습 곡선이 낮다.
- 모든 함수가 **자동 미분**된다 — `jax.grad`.
- 모든 함수가 **JIT 컴파일**된다 — `jax.jit`로 XLA 컴파일 (CPU/GPU/TPU).
- 함수형 + 순수 함수 강제 — 부작용 있는 코드는 안된다.
def rosenbrock(x):
return jnp.sum(100.0 * (x[1:] - x[:-1]**2)**2 + (1 - x[:-1])**2)
그래디언트
grad_rb = jax.grad(rosenbrock)
JIT 컴파일
jit_rb = jax.jit(rosenbrock)
벡터화 — 배치 처리
batched = jax.vmap(rosenbrock)
xs = jnp.array([[1.0, 1.0], [2.0, 2.0]])
print(batched(xs))
JAX vs PyTorch
| 항목 | JAX | PyTorch |
| --- | --- | --- |
| 정신모델 | 함수형, 순수함수 | 객체지향, 명령형 |
| 자동미분 | grad/jacrev/jacfwd | autograd.backward |
| JIT | XLA, 정적 | TorchScript/torch.compile |
| 분산 | pjit / shard_map | DDP / FSDP |
| 생태계 | JAX Ecosystem (Flax, Optax, Equinox) | PyTorch 압도적 |
과학 계산에서 JAX
- **물리 시뮬레이션** — DeepMind의 분자 동역학, NASA의 유체 코드.
- **베이지안 추론** — NumPyro, BlackJAX.
- **신경 ODE / PDE** — Diffrax, JAX-CFD.
- **양자 시뮬레이션** — JaxQuTip 등.
약점
- **함수형 사고 강제** — 학습 곡선이 있다. `for` 루프를 자유롭게 쓰면 안된다(`jax.lax.scan` 등 사용).
- **에코시스템 분열** — Flax, Haiku, Equinox 등 여러 신경망 라이브러리. 표준이 없다.
- **JIT 디버깅** — 컴파일된 코드의 에러 메시지는 거칠다.
위치
- **과학 + ML 교차점**에서 점점 표준이 되고 있다.
- 순수 ML이면 PyTorch가 여전히 큰 표준.
- 순수 수치는 NumPy/Julia로도 충분, JAX는 미분 + 가속이 같이 필요할 때.
14장 · CAS 진영 — Symbolics.jl / Reduce / Maxima / Pari-GP / SymPy
상용을 빼면 오픈 CAS 진영은 풍부하다.
SymPy
- Python 네이티브.
- 학생/엔지니어가 처음 만나는 CAS — Mathematica 사기 전 시도.
- 약점 — 속도. 큰 식 풀 때 답답하다.
x = sp.Symbol("x")
sp.integrate(sp.sin(x) * sp.exp(-x), x)
Symbolics.jl
- Julia 네이티브 CAS. ModelingToolkit과 묶여 PDE/ODE 시스템 빌더로 자리잡았다.
- 다중 디스패치 덕에 큰 식에서 SymPy보다 빠르다.
using Symbolics
@variables x y
expr = x^2 + 2x*y + y^2
simplify(expr)
Maxima
- Macsyma의 직계 후손. MIT 1960년대 시작, 현재는 GPL.
- Lisp 기반, 오래된 UX. SageMath의 상징 백엔드 중 하나.
- 깊은 정수론, 적분 — 의외로 강하다.
Reduce
- 1968년 Hearn이 시작. 2008년 오픈소스화.
- 물리학 계열에서 역사적으로 강했다 — Feynman 다이어그램 계산 등.
- 현대 도구로는 보기 드물지만 여전히 살아있다.
Pari/GP
- 1985년 Bordeaux에서 시작. 정수론 전문 CAS.
- 빠른 정수론 알고리즘 — 소수 판정, 인수분해, 타원곡선.
- C 라이브러리(libpari) + 인터랙티브 셸(GP).
- SageMath의 정수론 백엔드.
? factor(2^256 - 1)
? isprime(2^127 - 1)
? E = ellinit([0, 0, 1, -1, 0])
? ellanalyticrank(E)
5개 비교
| CAS | 언어 | 강점 | 사용자 |
| --- | --- | --- | --- |
| SymPy | Python | 일반 + 학습 | 학생, 엔지니어 |
| Symbolics.jl | Julia | PDE/ODE, MTK | 과학 ML |
| Maxima | Lisp | 적분, 미방, 노련함 | Sage 사용자 |
| Reduce | Lisp | 물리 계산 | 역사적, 일부 매니아 |
| Pari/GP | C | 정수론 | 수론 박사과정 |
15장 · 한국 — KAIST / 카이스트 SageMath / Posit 한국
한국 대학 수학 / 공학 풍경.
KAIST (한국과학기술원)
- **공학 — MATLAB**이 학부부터 깊이 박혀있다. EE/ME/AE 라이선스 사이트가 운영된다.
- **수학과 — Mathematica + SageMath** 병행. 학부 미적분, 선형대수에서 Mathematica를, 연구실에서는 SageMath가 흔하다.
- **AI 대학원 — Python/JAX/PyTorch 중심**. R은 일부 통계 과목에서.
- **개별 강의 사례** — 카이스트 수학과의 SageMath 실습 과목, 산업공학과의 R 통계 과목이 알려져 있다.
서울대학교
- **수리과학부 — Mathematica 라이선스** + 일부 SageMath.
- **공과대학 — MATLAB** + Python.
- **통계학과 — R + tidyverse**가 강세.
- **AI 연구실 — Python + PyTorch / JAX**.
POSTECH
- 작은 규모지만 MATLAB / Mathematica 라이선스를 사이트 단위로 보유.
- 수학과는 SageMath / GAP / Macaulay2 등 오픈 CAS 활용도가 높다.
산업 — 한국
- **자동차(현대·기아) — MATLAB / Simulink** 깊이 박혀있다. 인증 워크플로 때문.
- **반도체(삼성·SK하이닉스) — MATLAB + Python**. 신호처리·계측에 MATLAB, 데이터 분석에 Python.
- **금융 — R + Python**. 분석은 R, 모델 배포는 Python.
- **스타트업 — Python 거의 독점**. R은 데이터 분석가가 일부.
한국어 자료
- 한국 SageMath 그룹 — 학회 발표 중심으로 활동.
- **카이스트 OCW** — 일부 수학 강의에 SageMath 실습 자료.
- **EBS / 교육방송** — GeoGebra 활용 수학 강의.
16장 · 일본 — 京都大学 / 東京大学 / RIKEN / Mathematica 라이선스
일본 대학 풍경.
東京大学 (도쿄대)
- **数理科学研究科** — Mathematica 사이트 라이선스 운영. 학부생도 접근 가능.
- **工学部 — MATLAB**이 학부 전 학년에 박혀있다.
- **物理学科 — Mathematica + Python + Julia** 혼합.
- **情報理工 / AI — Python + PyTorch / JAX** 중심.
京都大学 (교토대)
- **理学部数学教室** — Mathematica + SageMath. 일부 박사과정 학생이 SageMath / GAP / Macaulay2를 사용.
- **数理解析研究所(RIMS)** — 순수 수학 연구 중심. 도구는 연구자 선호에 따라 다양.
- **工学部 — MATLAB / Simulink**가 자동차·전자 산업과의 연계로 깊다.
RIKEN
- **R-CCS (계산과학연구센터)** — 富岳 슈퍼컴퓨터를 운영. Julia / Python / C++ / Fortran 혼용.
- **AIP (혁신지능통합연구센터)** — Python + PyTorch + JAX 중심.
大阪大学 / 名古屋大学
- 공학부 강세 — MATLAB / Simulink 깊이.
- 수학과는 SageMath / Mathematica 혼용.
산업 — 일본
- **자동차(Toyota·Honda·Nissan) — MATLAB / Simulink** 표준. 일본은 MathWorks 일본 법인이 강력하다.
- **전자(Sony·Panasonic·Renesas) — MATLAB + Python + C/C++**.
- **금융 — R + Python**. 보수적인 통계 분석은 R, 새 워크플로는 Python.
- **AI 스타트업(Preferred Networks, Sakana AI 등) — Python + JAX / PyTorch**.
일본어 자료
- **京大の数理リテラシー** — 교토대 SageMath 자료가 일부 공개돼있다.
- **MathWorks Japan** — MATLAB 일본어 자료 풍부.
- **Wolfram Japan** — Mathematica 일본어 세미나 정기.
17장 · 누가 무엇을 골라야 하나 — 학생 / 연구 / 산업 / 교육
마지막으로 시나리오별 권고.
학부 1~2학년 (수학·과학·공학 입문)
- **기본은 Python + NumPy + SymPy + Matplotlib**. 무료, 한 번 배워두면 평생 쓴다.
- 시각화·기하 — **GeoGebra** 또는 **Desmos**.
- 학교가 Mathematica/MATLAB 사이트 라이선스를 사주면 — 그것도 함께 익혀라.
학부 3~4학년 / 전공 결정 후
- **수학 / 통계 전공** — R + tidyverse, SageMath, SymPy.
- **공학(EE/ME/AE)** — MATLAB + Simulink (산업 표준이라 어쩔 수 없다).
- **CS / AI** — Python + PyTorch / JAX.
박사과정 (수학 순수)
- **정수론 / 대수기하** — SageMath + GAP + Macaulay2 + Singular. Magma 라이선스 있으면 추가.
- **해석학 / PDE** — Julia (DifferentialEquations.jl) 또는 MATLAB + PDE Toolbox.
- **응용 수학** — Python + JAX + Julia 혼용.
박사과정 (공학·물리)
- 산업 인접 — **MATLAB / Simulink** 필수.
- 학계 인접 — **Python + Julia + 분야 도구**.
- 양자 — **Qiskit / Cirq + JAX**.
회사 R&D
- **자동차·항공·국방** — MATLAB / Simulink (인증 요구).
- **반도체·통신** — MATLAB + Python.
- **금융** — R + Python + Julia.
- **AI / 스타트업** — Python + PyTorch / JAX 거의 독점.
교육 (교사)
- **K-12** — Desmos 또는 GeoGebra. 학생이 모바일에서도 쓸 수 있다.
- **고교 — GeoGebra + Python (입문)**.
- **대학 강의실** — CoCalc 또는 Posit Cloud — 환경 통일이 중요.
참고 / References
- Wolfram Mathematica — https://www.wolfram.com/mathematica/
- Wolfram Language — https://www.wolfram.com/language/
- Wolfram Alpha — https://www.wolframalpha.com/
- Wolfram Cloud — https://www.wolframcloud.com/
- MATLAB — https://www.mathworks.com/products/matlab.html
- Simulink — https://www.mathworks.com/products/simulink.html
- Maple — https://www.maplesoft.com/products/maple/
- MapleSim — https://www.maplesoft.com/products/maplesim/
- SageMath — https://www.sagemath.org/
- Julia — https://julialang.org/
- SciML — https://sciml.ai/
- Symbolics.jl — https://docs.sciml.ai/Symbolics/stable/
- R Project — https://www.r-project.org/
- tidyverse — https://www.tidyverse.org/
- Posit — https://posit.co/
- Positron — https://positron.posit.co/
- Quarto — https://quarto.org/
- NumPy — https://numpy.org/
- SciPy — https://scipy.org/
- SymPy — https://www.sympy.org/
- Pandas — https://pandas.pydata.org/
- Polars — https://pola.rs/
- JAX — https://github.com/google/jax
- Flax — https://github.com/google/flax
- GeoGebra — https://www.geogebra.org/
- Desmos — https://www.desmos.com/
- GAP — https://www.gap-system.org/
- Macaulay2 — https://macaulay2.com/
- Magma — http://magma.maths.usyd.edu.au/magma/
- Singular — https://www.singular.uni-kl.de/
- Maxima — https://maxima.sourceforge.io/
- Reduce — https://reduce-algebra.sourceforge.io/
- PARI/GP — https://pari.math.u-bordeaux.fr/
- CoCalc — https://cocalc.com/
- William Stein on Sage — https://wstein.org/
- KAIST — https://www.kaist.ac.kr/
- 서울대학교 수리과학부 — https://www.math.snu.ac.kr/
- POSTECH — https://www.postech.ac.kr/
- 東京大学 数理科学 — https://www.ms.u-tokyo.ac.jp/
- 京都大学 数理解析研究所 (RIMS) — https://www.kurims.kyoto-u.ac.jp/
- RIKEN R-CCS — https://www.r-ccs.riken.jp/
- MathWorks Japan — https://jp.mathworks.com/
현재 단락 (1/502)
20세기 후반의 수학 소프트웨어는 단순했다. 한 가지 도구 — Mathematica든 MATLAB이든 Maple이든 — 가 모든 걸 해야 했다. 라이선스 한 개에 학생은 천 달러를...