sympy

在Python中处理符号数学时使用此技能。此技能适用于符号计算任务,包括代数求解方程、执行微积分运算(导数、积分、极限)、操作代数表达式、符号化处理矩阵、物理计算、数论问题、几何计算以及从数学表达式生成可执行代码。当用户需要精确的符号结果而非数值近似,或处理包含变量和参数的数学公式时,应用此技能。

安装

热度:7

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-sympy&locale=zh&source=copy

SymPy - Python 符号数学计算智能技能

技能概述

SymPy 是一个功能强大的 Python 符号数学计算库,能够进行精确的数学符号运算,包括符号代数、微积分、方程求解、矩阵运算和物理计算。与数值计算不同,SymPy 使用数学符号进行精确计算,保持结果如 √2 的精确形式而非近似值 1.414。

适用场景

  • 符号方程求解 - 当你需要精确求解代数方程、微分方程或方程组时,SymPy 可以给出解析解而非数值近似,适用于数学推导、科研计算和工程分析。
  • 微积分与数学分析 - 进行符号求导、积分、极限计算和级数展开,适合数学教学、理论推导和需要精确数学表达式的科研场景。
  • 数学表达式处理与代码生成 - 化简复杂的数学表达式、生成 LaTeX 格式输出,或将数学公式转换为可执行的 Python/C/Fortran 代码。
  • 核心功能

  • 符号计算基础 - 支持创建符号变量、表达式化简、展开、因式分解,以及三角函数、指数、对数等符号运算,可对数学表达式进行精确的代数变换。
  • 微积分运算 - 提供完整的符号微积分功能,包括单变量和多变量求导、定积分和不定积分、极限计算、泰勒级数展开,以及微分方程符号求解。
  • 方程与矩阵求解 - 支持代数方程、方程组和微分方程的符号求解,以及矩阵符号运算、特征值分解、线性方程组求解等线性代数功能。
  • 常见问题

    SymPy 和 NumPy 有什么区别?

    SymPy 用于符号计算,保持数学结果的精确形式(如 √2),适合数学推导和解析求解;NumPy 用于数值计算,进行浮点数运算,适合大规模数值计算和数据分析。两者常配合使用:用 SymPy 进行符号推导,用 NumPy 进行数值计算。

    如何用 SymPy 解方程?

    使用 solve()solveset() 函数。例如求解 x² - 4 = 0:from sympy import symbols, solve; x = symbols('x'); solve(x**2 - 4, x) 返回 [-2, 2]。对于微分方程,使用 dsolve() 函数。

    SymPy 支持哪些数学运算?

    SymPy 支持完整的符号数学运算,包括:代数(化简、展开、因式分解)、微积分(导数、积分、极限)、线性代数(矩阵运算、特征值)、数论、几何、物理计算、组合数学、概率统计,以及代码生成和 LaTeX 输出。

    SymPy 能求导数和积分吗?

    可以。使用 diff() 求导数:diff(x**3, x) 返回 3x²。使用 integrate() 求积分:integrate(x**2, x) 返回 x³/3。支持多变量偏导数、高阶导数、定积分和广义积分。

    如何将 SymPy 结果转换为 LaTeX?

    使用 latex() 函数。例如:from sympy import latex, symbols; x = symbols('x'); expr = x**2 + 1; print(latex(expr)) 输出 x^{2} + 1,可直接用于 LaTeX 文档或网页展示数学公式。