mcpField
M
math

math

github.com/parcadeiその他3.9k879 回インストール39 週間前に更新
リポジトリ

math について

mathは、計算や解説の依頼を適切な機能に振り分ける統合数学スキルです。SymPyによる記号計算、Z3による制約ソルバー、Pintによる単位変換に加え、トピック別スキルで数学概念を解説します。

主な機能

  1. 01依頼内容に応じた自動振り分け
  2. 02SymPyによる記号数学計算
  3. 03Z3による制約ソルバー
  4. 04Pintによる単位変換
  5. 05トピック別スキルによる解説

活用シーン

  1. 01方程式の解法や積分計算
  2. 02命題が常に成立するかの確認
  3. 03異なる単位間の変換
  4. 04数学分野の概念の解説

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill math

インストール後、Claude Code で/mathを入力して読み込まれたか確認します。

詳細

/math - 統合数学機能

計算と説明のための単一の入り口です。 リクエストに応じて適切なツールに振り分けます。

形式的な証明には、代わりに /prove を使用してください。


簡単な使用例

入力例使用するもの
"Solve x² - 4 = 0"SymPy の solve
"Integrate sin(x) from 0 to π"SymPy の integrate
"Eigenvalues of [[1,2],[3,4]]"SymPy の eigenvalues
"Is x² + 1 > 0 for all x?"Z3 の prove
"Convert 5 miles to km"Pint
"Explain what a functor is"圏論スキル

計算スクリプト

SymPy(記号数学)
uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/sympy_compute.py" <command> <args>
コマンド説明例
solve方程式を解くsolve "x**2 - 4" --var x
integrate定積分/不定積分integrate "sin(x)" --var x --lower 0 --upper pi
diff導関数diff "x**3" --var x
simplify式を簡約するsimplify "sin(x)**2 + cos(x)**2"
limit極限を計算するlimit "sin(x)/x" --var x --point 0
seriesテイラー展開series "exp(x)" --var x --point 0 --n 5
dsolveODE を解くdsolve "f''(x) + f(x)" --func f --var x
laplaceラプラス変換laplace "sin(t)" --var t

行列演算:

コマンド説明
det行列式
eigenvalues固有値
eigenvectors重複度を含む固有ベクトル
inverse逆行列
transpose転置
rref行簡約階段形
rank行列のランク
nullspace零空間の基底
linsolve線形系 Ax=b
charpoly特性多項式

数論:

コマンド説明
factor多項式を因数分解する
factorint素因数分解
isprime素数判定
gcd最大公約数
lcm最小公倍数
modinverseモジュラー逆数

組合せ論:

コマンド説明
binomialC(n,k)
factorialn!
permutationP(n,k)
partition整数分割 p(n)
catalanカタラン数
bellベル数

Z3(制約充足)
uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/z3_solve.py" <command> <args>
コマンド用途
sat充足可能ですか?
prove常に真ですか?
optimize制約の下で最小値/最大値を求める

Pint(単位)
uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/pint_compute.py" convert <value> <from_unit> <to_unit>

例:convert 5 miles kilometers


Math Router(自動振り分け)
uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/math_router.py" route "<natural language request>"

実行する正確なコマンドを返します。どのスクリプトを使うべきかわからない場合に使用してください。


トピック別スキル(説明用)

リクエストが「X を説明して」または「X とは何ですか」の場合、以下を参照します。

トピックスキルの場所主な概念
抽象代数学math/abstract-algebra/群、環、体、準同型
圏論math/category-theory/関手、自然変換、極限
複素解析math/complex-analysis/解析関数、留数、輪郭積分
関数解析math/functional-analysis/バナッハ空間、作用素、スペクトル
線形代数math/linear-algebra/行列、固有空間、分解
数理論理学math/mathematical-logic/命題論理、述語論理、証明論
測度論math/measure-theory/ルベーグ、σ-代数、積分
実解析math/real-analysis/極限、連続性、収束
位相幾何学math/topology/開集合、コンパクト性、連結性
ODE/PDEmath/odes-pdes/微分方程式、境界値問題
最適化math/optimization/凸最適化、LP、勾配法
数値解析math/numerical-methods/近似、誤差解析
グラフ理論/数論math/graph-number-theory/グラフ、素数、モジュラー算術
情報理論math/information-theory/エントロピー、符号化、通信路

ルーティングロジック

リクエストに応じて判断します:

"solve/calculate/compute" → SymPy (exact symbolic)
"is X always true?" → Z3 (constraint proving)
"convert units" → Pint
"explain/what is" → Topic skill for context
"prove formally" → Redirect to /prove

例

方程式を解く
User: Solve x² - 5x + 6 = 0
Claude: uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/sympy_compute.py" solve "x**2 - 5*x + 6" --var x
Result: x = 2 or x = 3
固有値を計算する
User: Find eigenvalues of [[2, 1], [1, 2]]
Claude: uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/sympy_compute.py" eigenvalues "[[2,1],[1,2]]"
Result: {1: 1, 3: 1}  (eigenvalue 1 with multiplicity 1, eigenvalue 3 with multiplicity 1)
不等式を証明する
User: Is x² + y² ≥ 2xy always true?
Claude: uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/z3_solve.py" prove "x**2 + y**2 >= 2*x*y"
Result: PROVED (equivalent to (x-y)² ≥ 0)
単位を変換する
User: How many kilometers in 26.2 miles?
Claude: uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/pint_compute.py" convert 26.2 miles kilometers
Result: 42.16 km

代わりに /prove を使う場合

次のような場合は /prove を使ってください:

  • 機械検証された形式的証明(Lean 4)が必要な場合
  • 圏論の証明(関手、米田の補題など)
  • 出版品質の検証
  • 抽象代数学の証明

/math は計算用です。/prove は検証用です。

コメント