SuperAPI AI 工具集

math

通用与其它

查看项目

更新于 10-15 14:32

技能介绍

用途

/math 是一个统一的数学能力入口,面向计算、求解和解释三类需求。它根据用户请求自动路由到合适的工具,避免手动选择脚本。若需要机器验证的形式化证明,应改用 /prove。

主要能力

符号计算(SymPy)

通过脚本 uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/sympy_compute.py" <command> <args> 调用,支持:

  • 方程求解:solve "x**2 - 4" --var x
  • 积分:integrate "sin(x)" --var x --lower 0 --upper pi
  • 导数:diff "x**3" --var x
  • 化简:simplify "sin(x)**2 + cos(x)**2"
  • 极限:limit "sin(x)/x" --var x --point 0
  • 泰勒展开:series "exp(x)" --var x --point 0 --n 5
  • 常微分方程:dsolve "f''(x) + f(x)" --func f --var x
  • 拉普拉斯变换:laplace "sin(t)" --var t

矩阵运算支持:行列式(det)、特征值(eigenvalues)、特征向量(eigenvectors)、逆矩阵(inverse)、转置(transpose)、行阶梯形(rref)、秩(rank)、零空间基(nullspace)、线性方程组 Ax=b(linsolve)、特征多项式(charpoly)。

数论支持:多项式因式分解(factor)、质因数分解(factorint)、素性测试(isprime)、最大公约数(gcd)、最小公倍数(lcm)、模逆(modinverse)。

组合数学支持:二项式系数(binomial)、阶乘(factorial)、排列(permutation)、整数分拆(partition)、卡特兰数(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。

数学路由(自动路由)

通过脚本 uv run python "$CLAUDE_PROJECT_DIR/.claude/scripts/cc_math/math_router.py" route "<natural language request>" 调用,返回应执行的确切命令,适用于不确定使用哪个脚本时。

主题技能(用于解释)

当请求为“解释 X”或“什么是 X”时,引用以下主题技能:

  • 抽象代数:群、环、域、同态
  • 范畴论:函子、自然变换、极限
  • 复分析:解析函数、留数、围道积分
  • 泛函分析:巴拿赫空间、算子、谱
  • 线性代数:矩阵、特征空间、分解
  • 数理逻辑:命题逻辑、谓词逻辑、证明论
  • 测度论:勒贝格、σ-代数、积分
  • 实分析:极限、连续性、收敛性
  • 拓扑学:开集、紧致性、连通性
  • 常微分/偏微分方程:微分方程、边值问题
  • 优化:凸优化、线性规划、梯度方法
  • 数值方法:近似、误差分析
  • 图论/数论:图、素数、模算术
  • 信息论:熵、编码、信道

使用方式

根据请求类型自动路由:

  • “求解/计算/求值” → SymPy(精确符号计算)
  • “X 是否恒成立?” → Z3(约束证明)
  • “单位换算” → Pint
  • “解释/什么是” → 对应主题技能提供背景
  • “形式化证明” → 重定向到 /prove

示例:

  • 求解 x² - 5x + 6 = 0:执行 sympy_compute.py solve "x**2 - 5*x + 6" --var x,结果为 x = 2 或 x = 3。
  • 求 [[2,1],[1,2]] 的特征值:执行 sympy_compute.py eigenvalues "[[2,1],[1,2]]",结果为 {1: 1, 3: 1}。
  • 证明 x² + y² ≥ 2xy 是否恒成立:执行 z3_solve.py prove "x**2 + y**2 >= 2*x*y",结果为 PROVED。
  • 26.2 英里等于多少公里:执行 pint_compute.py convert 26.2 miles kilometers,结果为 42.16 km。

适用场景

适合需要精确符号计算、约束求解与证明、单位换算,以及数学概念解释的场景。

限制

需要机器验证的形式化证明(Lean 4)、范畴论证明、出版级验证、抽象代数证明时,应使用 /prove,而非 /math。