利用计算机辅助数学运算

我认为求解一个数学问题可以分为符号解和数值解,在此不进行详细的计算机实现而是提供书的索引,在每次用到时将用到的函数记录下来。sympy主要用于符号解,scipy主要用于数值解。

sympy的介绍见python数学实验与建模第3.1.1节,构建符号变量以及化简式子见3.1.2节,画图见3.3节,求极限微分积分代数方程微分方程以及泰勒展开和级数求和问题见3.4节,与线性代数相关问题见3.6.1节。

导入模块from sympy import *

symbols(names, *, cls=Symbol, **args);这个函数支持一次创建多个符号变量,names参数填符号变量的名字,默认创建的符号变量为复变量,可以通过关键字参数来约束创建一个什么样的变量,支持的关键字有real、positive、integer、nonzero等,比如要创建实变量可以real设置为True。接下来举个例子,创建3个实变量,x,y,z=symbols('x y z',real=True)。

together(expr, deep=False, fraction=True);用于合并有理式建议第2个参数填True,第3个参数填False。第一个参数为要合并的式子,deep=False表示仅合并表达式顶层结构的分式,不递归处理嵌套在括号、函数、幂次等内部的分式,deep=True表示会递归遍历表达式的所有嵌套结构,将内部所有隐藏的分式也合并为单一分式,fraction=True表示合并后强制输出标准分式形式,就是结果必须是分式,所以它不一定是最简,fraction=True表示不强制分式形式,会将表达式拆分为 "多项式部分 + 真分式部分",它能得到最简的。

simplify(expr);用于化简无理式。expr为要化简的式子。

apart(f);用于分解有理分式。使用它时建议先用together(参数默认即可)合并在用它分解。

solve(f, *symbols);用于求解方程或方程组的解。举两个例子:solve(x*x+1,x)这是解关于x的方程的例子,solve(x+y,x-y+c,x,y)这是解关于x,y的方程组的例子。

latex(expr);用于将sympy库求解出来的式子转换成latex格式,可以放在在线latex编辑器上可视化的查看latex式子。

相关推荐
AI_yangxi1 分钟前
短视频矩阵系统服务商
大数据·人工智能·矩阵
Ada's4 分钟前
方法论01:如何写好一篇期刊论文
人工智能
szxinmai主板定制专家4 分钟前
基于 ARM+FPGA精密多轴实时运动控制卡设计方案,适用于半导体设备等高精度领域(一)
arm开发·人工智能·嵌入式硬件·fpga开发·架构·语音识别
2601_9583529010 分钟前
车载蓝牙通话的声学突围:A-29P 在智能座舱语音处理中的核心技术优势解析
人工智能·回音消除·音频处理模块·智能车载硬件
SuperHeroWu716 分钟前
【算法】强化学习中奖励和损失函数的关系
算法·环境·强化学习·损失函数·奖励
mykj155116 分钟前
AI旅拍小程序定制开发,解锁文旅变现新赛道
人工智能·小程序
voidmort19 分钟前
9. 微调(Fine-tuning)的数学原理
人工智能·算法·机器学习
zzhongcy20 分钟前
AI时代软件开发的深度感悟
人工智能
zhangfeng113323 分钟前
国家超算中心 htc 如果只有gpu资源 没有cpu资源 操作文件的时候会不会很卡呢
人工智能·pytorch·python·机器学习
零壹AI实验室25 分钟前
英伟达Vera Rubin芯片:Blackwell直接过时?Agentic AI时代的硬件革命
人工智能