- Published on
数学 & 科学計算ツール 2026 — Mathematica / MATLAB / Maple / SageMath / Julia 1.11 / R + Posit / JAX / GeoGebra / Desmos / GAP / Macaulay2 徹底ガイド
- Authors

- Name
- Youngju Kim
- @fjvbn20031
プロローグ — 「数学を計算機で解く」の意味が変わった
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]
弱点と批判
- 価格。 学生ライセンス 約 440/年、企業は数千ドル単位。大学のサイトライセンスは非公開だが数十万〜数十万ドル規模。
- ベンダーロックイン。 WL コードは外に移植できない。オープンソースのバックエンドが存在しない。
- 速度。 数値計算は MATLAB や NumPy より一般に遅い (象徴は圧倒的)。
- 現代 ML の不在。 PyTorch/JAX に相当する標準的な ML 道具がない。NetTrain は独自世界。
2026 年の位置
- 一番合う場面: 象徴解法、ノートブックデモ、データ可視化、ライセンス校の数学講義。
- 一番合わない場面: 深層学習、大規模データ処理、オープンソース協業。
- 一言: 「象徴計算が核心で、学校がライセンスを買ってくれるなら今でも一番」。
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.* 名前空間で MATLAB から NumPy/PyTorch を呼ぶ。逆も matlab.engine で可能。
- Apple Silicon ネイティブ — 2024 年 R2024a から ARM64 macOS ネイティブ。性能が大幅向上。
弱点
- 価格。 学生 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); # メルセンヌ素数
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 │ │
│ │ 数値: 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 が解く問題 — 二言語問題
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 種類 — 学習曲線が一定でない。
位置
- 一番合う場面: 統計、疫学、臨床、社会科学、データジャーナリズム。
- 一番合わない場面: 深層学習、大規模 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 バックエンド — Arrow バックエンドがオプションからデフォルトへ移行中。
- Polars — Rust 製のデータフレームライブラリ。大規模データで Pandas より速い。強力な Lazy API。
- SymPy 1.13+ — 象徴計算。Mathematica より遅いが無料で Python ネイティブ。
- DuckDB + Ibis — ノートブック内で OLAP クエリ。CSV/Parquet を SQL で直接処理。
コード断片
import numpy as np
import polars as pl
import sympy as sp
# 数値
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 へ降ろさねばならない。二言語問題。
- 依存地獄。 conda/pip/uv/poetry/pixi の 5 つが並存。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 (ユークリッド作図)
├── 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 を 4 つ見る。
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 まで。
- リアルタイム協業 — Google Docs 風の同時編集。
- 課題 / 採点システム — 教師が学生のノートブックを受け取り自動採点。
- タイムトラベル — 全編集履歴をスライダーで再生。
価格 (2026)
- 無料 — インターネット接続なし、1GB メモリ、1 CPU。
- 学生 — 月 $5 程度 (インターネット + より多いリソース)。
- 教師 / 研究室 — 月 $14 から (サイトライセンス別途)。
CoCalc の核心価値
授業で 全員が同じ環境 を持つ。SageMath/Jupyter をインストールできない学生、M1 Mac で動かないパッケージ、Windows で壊れる LaTeX — これら全ての問題が消える。学部講義で大きな価値。
位置
- 学部数学・統計講義の標準インフラ。
- 博士研究には限界 — 大容量メモリ、GPU などは別途。
- セルフホスト可能なオープンソース版 (KuCalc) も存在。
12. Wolfram Cloud + Wolfram Alpha API
Wolfram Cloud は Mathematica のクラウド版。Wolfram Alpha API は自然言語の数学解法を外部アプリから呼ぶ API。
Wolfram Cloud
- ブラウザで Wolfram Language ノートブック。
- Cloud Notebook + Deployable APIs — ノートブックをそのまま Web API としてデプロイ可能。
- Free Tier あり。ただし計算量制限。
- 価格 — 個人 月 $5〜、ビジネスは別途。
Wolfram Alpha API
import wolframalpha
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) にコンパイル。 - 関数型 + 純粋関数強制 — 副作用のあるコードは拒否される。
import jax
import jax.numpy as jnp
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 |
|---|---|---|
| 思考モデル | 関数型、純粋関数 | OO、命令型 |
| 自動微分 | grad/jacrev/jacfwd | autograd.backward |
| JIT | XLA、静的 | TorchScript/torch.compile |
| 分散 | pjit / shard_map | DDP / FSDP |
| エコシステム | JAX 系 (Flax, Optax, Equinox) | PyTorch 圧倒的 |
科学計算における JAX
- 物理シミュレーション — DeepMind の分子動力学、NASA の流体コード。
- ベイズ推論 — NumPyro、BlackJAX。
- Neural 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 を買う前の試用。
- 弱点 — 速度。大きな式で答えが返ってこない。
import sympy as sp
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 / ソウル大学 / Posit Korea
韓国の大学数学・工学風景。
KAIST (韓国科学技術院)
- 工学 — MATLAB が学部から深く根を張っている。EE/ME/AE のサイトライセンスが運営される。
- 数学科 — Mathematica + SageMath を併用。学部の微積分・線形代数では Mathematica、研究室では SageMath がよく見られる。
- AI 大学院 — Python/JAX/PyTorch 中心。R は一部の統計科目で。
- 個別講義事例 — KAIST 数学科の SageMath 実習科目、産業工学科の R 統計科目が知られる。
ソウル大学校 (SNU)
- 数理科学部 — Mathematica ライセンス + 一部 SageMath。
- 工学部 — MATLAB + Python。
- 統計学科 — R + tidyverse が強い。
- AI 研究室 — Python + PyTorch / JAX。
POSTECH
- 規模は小さいが MATLAB / Mathematica のサイトライセンスを保持。
- 数学科は SageMath / GAP / Macaulay2 などオープン CAS の利用度が高い。
産業 — 韓国
- 自動車 (現代・起亜) — MATLAB / Simulink が深く根を張っている。認証ワークフローのため。
- 半導体 (Samsung・SK ハイニックス) — MATLAB + Python。信号処理・計測に MATLAB、データ分析に Python。
- 金融 — R + Python。分析は R、モデルデプロイは Python。
- スタートアップ — Python ほぼ独占。R はデータアナリストの一部で。
韓国語資料
- 韓国 SageMath グループ — 学会発表を中心に活動。
- KAIST 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 Japan 法人が強力。
- 電子 (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/