发帖
日期

SymPy工具箱预览版 更新日志

1. 基本信息SymPy工具箱    预览版    20260429    本次 SymPy 工具箱预览版基于北太天元 2025 SymPy 插件完成架构重构,兼容 M 语言函数及语法,实现用户现有脚本无缝迁移;同时扩充符号计算能力,新增级数运算、积分变换、方程求解、高精度数值计算等高频函数,覆盖符号变量创建、极限微分计算、积分求解、符号化简及符号初等运算等核心应用场景,进一步完善北太天元符号计算功能。2. 功能概览SymPy 工具箱预览版全量功能详见下表。需特别说明:部分旧版以 sym 为前缀的函数已在本次预览版中完成更名,具体可参见表格对应备注;另有部分旧版函数仍在重构适配中,相关能力将在正式版陆续开放。函数名函数描述支持的语法备注sym创建单个符号变量x = sym("x")sym(__,set)sym(num)sym(strnum)syms创建单个或者多个符号变量syms var1 ... varNsyms ___ setcumprod符号累积乘积B = cumprod(A)B = cumprod(A,dim)A 仅支持符号变量数组,不支持表达式cumsum符号累积和B = cumsum(A)B = cumsum(A,dim)A 仅支持符号变量数组,不支持表达式series皮瑟级数series(f,var)taylor泰勒级数T = taylor(f,var)T = taylor(f,var,a)T = taylor(f,var,a,order)原函数名:symtaylorsymprod级数的乘积F = symprod(f,k,a,b)F = symprod(f,k)vpasum使用变精度进行数值求和s = vpasum(f,a,b)s = vpasum(f,x,a,b)ilaplace拉普拉斯逆变换f = ilaplace(F)f = ilaplace(F,transVar)1.不支持F为符号数值 2.显示结果均多了Heaviside(x)laplace拉普拉斯变换F = laplace(f)F = laplace(f,var,transVar)limit符号表达式的极限limit(f,var,a)limit(f,var,a,"left")limit(f,var,a,"right")原函数名:symlimit支持符号变量、符号表达式,不支持符号向量和矩阵diff符号微分Df = diff(f)Df = diff(f,var)Df = diff(f,var,n)Df = diff(f,var1,...,varN)原函数名:symdiff支持符号变量、符号表达式,不支持符号向量和矩阵,方程int定积分与不定积分F = int(expr)F = int(___,Name,Value)原函数名:symint仅支持部分Namevpaintegral可变精度算术进行高精度的数值积分vpaintegral(f,a,b)vpaintegral(f,x,a,b)vpaintegral(___,Name,Value)Name仅支持'waypoints'integrateByParts分部积分G = integrateByParts(F,du)积分项含有非积分式会报错vpasolve数值求解符号方程S = vpasolve(eqn,var)S = vpasolve(eqns,vars)1.Eqn 支持符号方程,不支持表达式2.对于多个解的问题仅能返回一组解solve方程和方程组求解器S = solve(eqn,var)S = solve(eqns,vars)1. Eqn 支持符号方程,不支持表达式vpa可变精度算术(任意精度算术)yVpa = vpa(y)yVpa = vpa(y,d)原函数名:symvpa 支持表达式,不支持数值(double)、向量和矩阵subs符号代换snew = subs(s,match,replacement)原函数名:symsubs支持符号变量,表达式,方程,不支持符号向量和矩阵double将符号转化为浮点数D = double(s)原函数名:sym2double仅支持符号数值,不支持向量和矩阵fourier符号表达式的傅里叶变换FT = fourier(f)FT = fourier(f,transVar)FT = fourier(f,var,transVar)ifourier符号表达式的傅里叶逆变换ifourier(F)ifourier(F,transVar)ifourier(F,var,transVar)eq创建符号等式A == Beq(A,B)simplify代数简化S = simplify(expr)原函数名:symsimplify仅支持符号表达式,不支持向量和矩阵sqrt求符号表达式的平方根sqrt(x)不支持符号向量和矩阵abs符号绝对值abs(z)不支持符号向量和矩阵exp符号指数exp(x)不支持符号向量和矩阵log符号对数log(x)不支持符号向量和矩阵acos符号反余弦acos(x)不支持符号向量和矩阵asin符号反正弦asin(x)不支持符号向量和矩阵atan符号反正切atan(x)不支持符号向量和矩阵cos符号余弦cos(x)不支持符号向量和矩阵sin符号正弦sin(x)不支持符号向量和矩阵tan符号正切tan(x)不支持符号向量和矩阵acosh符号反双曲余弦acosh(x)不支持符号向量和矩阵asinh符号反双曲正弦asinh(x)不支持符号向量和矩阵cosh符号双曲余弦cosh(x)不支持符号向量和矩阵sinh符号双曲正弦sinh(x)不支持符号向量和矩阵tanh符号双曲正切tanh(x)不支持符号向量和矩阵3. 已知问题1) 使用过程中可能出现syms函数不存在的情况,重启软件即可解决。2) 运行示例脚本时,可能会出现该脚本或其他脚本不存在的提示,重启软件即可解决;建议优先使用运行节功能,避免运行整个脚本。3) 部分新增函数的帮助信息无法通过help函数获取,其具体使用方法可参照函数帮助文档。4) 目前需通过disp函数打印符号变量及符号表达式的内容。5) 部分函数的返回形式与对标软件存在差异,该差异不影响计算结果的正确性。

北太天元 SymPy 工具箱 v2.0 Preview

各位用户好,近期我们收到很多关于 符号计算工具箱 的功能需求和建议。为了让大家尽早用上重做后的工具箱,我们决定先以预览版形式发布,欢迎下载试用,也希望大家帮我们一起测试。适配版本:北太天元 2025 版支持平台:Windows 10/11、Ubuntu amd64/arm64、macOS arm64/x86_641. 主要更新① 架构重构,实现函数重载旧版的符号计算函数命名包含 sym 前缀,例如 symdiff、symint 等函数,使用起来不太方便。新版通过架构重构后,实现同名函数重载:

% 旧版
x = sym('x');  y = symdiff(sin(x));

% 新版
syms x;  y = diff(sin(x)); disp(y)   % diff 自动重载
② 新增近 20 个函数涵盖 laplace / ilaplace、fourier / ifourier、solve / vpasolve、int / vpaintegral、limit、series、symprod、vpasum、cumsum / cumprod、integrateByParts 等。完整函数列表会在工具箱更新日志中提供。使用示例文件、函数说明文档会随更新包一同提供。③ 多平台同步发布2. 使用方法下载对应平台的库文件 → 解压 → 替换到本地  2025 安装目录中相应位置即可生效。3. 关于预览版作为预览版本,实际使用中可能存在一些 bug 或与预期不一致的结果(部分函数的已知差异详见说明文档备注列)。如果您在使用过程中遇到任何问题、异常输出或有改进建议,欢迎直接在本帖下方留言反馈,我们会逐条跟进处理,您的反馈会直接帮助我们把正式版做得更好 4. 下载① Windows x86_64SymPy-dev-2.0-preview-windows_x86_64② Ubuntu amd64SymPy-dev-2.0-preview-Ubuntu-amd64③ Ubuntu arm64SymPy-dev-2.0-preview-Ubuntu-arm64④ macOS arm64SymPy-dev-2.0-preview-MacOS_arm64⑤ macOS x86_64SymPy-dev-2.0-preview-MacOS_x86_64⑥ 函数使用说明符号计算工具箱预览版函数使用说明 5. 预览版更新指南注:以下指南皆基于北太天元2025版本 进行。① Windows下更新    1. 加载插件        a) 下载社区上对应系统的压缩包并将压缩包解压到本地,将其中的main.dll文件替换软件安装目录下文件夹(D:\baltamatica\plugins\SymPy)中的对应文件;            并将原有北太天元安装目录下的 SymPy\scripts 目录删除(D:\baltamatica\plugins\SymPy\scripts),将压缩包中的scripts 放到SymPy目录下。        b) 同时将压缩包中的libbt_builtin_array.dll替换软件安装目录下文件夹(D:\baltamatica\lib)中的对应文件。        c) 打开北太天元2025,加载插件SymPy。(会默认同步加载Python)    2. 加载脚本        a) 从地址栏点击文件夹图标,选择压缩包解压后的文件夹Examples打开,就可以使用里面的所有示例了。(注意:推荐使用运行部分代码来运行每个示例)② Ubuntu下更新    1. 加载插件        a) 下载社区上对应系统的压缩包并将压缩包解压到本地,将其中的main.so文件替换软件安装目录下文件夹(/opt/Baltamatica/plugins/Sympy)中的对应文件;            并将原有北太天元安装目录下的 SymPy\scripts 目录删除(/opt/Baltamatica/plugins/Sympy/scripts),将压缩包中的scripts 放到SymPy目录下。                b) 同时将压缩包中的libbt_builtin_array.so替换软件安装目录下文件夹(计算机/opt/Baltamatica/lib)中的对应文件。        c) 打开北太天元2025,加载插件SymPy。(会默认同步加载Python)    2. 加载脚本        a) 从地址栏点击文件夹图标,选择压缩包解压后的文件夹Examples打开,就可以使用里面的所有示例了。(注意:推荐使用运行部分代码来运行每个示例)③ macOS下更新    1. 加载插件        a) 下载社区上对应系统的压缩包并将压缩包解压到本地,将其中的main.dylib文件替换软件安装目录下文件夹(根据下图指引到Contents -> plugins -> SymPy)中的对应文件;            并将原有北太天元安装目录下的 SymPy\scripts 目录删除(Contents -> plugins -> SymPy -> scripts),将压缩包中的scripts 放到SymPy目录下。        b) 同时将压缩包中的libbt_builtin_array.dylib替换软件安装目录下文件夹(Contents -> Frameworks)中的对应文件。        c) 打开北太天元2025,加载插件SymPy。(会默认同步加载Python)    2. 加载脚本        a) 从地址栏点击文件夹图标,选择压缩包解压后的文件夹Examples打开,就可以使用里面的所有示例了。(注意:推荐使用运行部分代码来运行每个示例)

无法对符号变量进行sin运算

在进行符号计算时,出现“运算 'sin' 不支持输入类型为 extern 的变量。”的问题,请问如何解决才能进行x的三角函数形式的符号运算?【帮助文档显示sin函数同时接受实数和复数输入,并未告知如何支持extern类型的变量输入】

一只皮皮萤 1 0 2024-10-15

工作区无法识别 symbolic 插件创建的符号变量

使用 symbolic 插件提供的 sym 命令创建符号变量 x 后,工作区不显示任何变量信息使用 whos 命令查看发现只有 ans 这个变量,且类型识别为 extern. 将这个 ans 赋值给 x 之后,无论参与运算工作区都是不显示任何信息的,也就是工作区无法识别 extern 这种类型的变量。目前将所有公布过的正式版本都安装尝试了一遍,都是这种情况。

邱彼郑楠 3 0 2024-05-07