Skip to content

필사 모드: 수학 & 과학 계산 도구 2026 — Mathematica / MATLAB / Maple / SageMath / Julia 1.11 / R Posit / JAX / GeoGebra / Desmos / GAP / Macaulay2 심층 가이드

한국어
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

프롤로그 — "수학을 컴퓨터로 푼다"의 의미가 바뀌었다

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이든 — 가 모든 걸 해야 했다. 라이선스 한 개에 학생은 천 달러를...

작성 글자: 0원문 글자: 20,308작성 단락: 0/502