sympy有个vector 模块,里面提供了求解标量场、向量场的梯度、散度、旋度等计算,官方参考连接:

http://docs.sympy.org/latest/modules/vector/index.html

sympy中计算梯度、散度和旋度主要有两种方式:
一个是使用∇∇\nabla算子,sympy提供了类Del(),该类的方法有:cross、dot和gradient,cross就是叉乘,计算旋度的,dot是点乘,用于计算散度,gradient自然就是计算梯度的。

另一种方法就是直接调用相关的API:curl、divergence和gradient,这些函数都在模块sympy.vector 下面。

使用sympy计算梯度、散度和旋度之前,首先要确定坐标系,sympy.vector模块里提供了构建坐标系的类,常见的是笛卡尔坐标系, CoordSys3D,根据下面的例子可以了解到相应应用。

(1)计算梯度

## 1 gradientC = CoordSys3D('C')
delop = Del() # nabla算子# 标量场 f = x**2*y-xy
f = C.x**2*C.y - C.x*C.yres = delop.gradient(f, doit=True) # 使用nabla算子
# res = delop(f).doit()
res = gradient(f) # 直接使用gradientprint(res) # (2*C.x*C.y - C.y)*C.i + (C.x**2 - C.x)*C.j

(2)计算散度

## divergenceC = CoordSys3D('C')
delop = Del() # nabla算子# 向量场 f = x**2*y*i-xy*j
f = C.x**2*C.y*C.i - C.x*C.y*C.jres = delop.dot(f, doit=True)# res = divergence(f)print(res)  # 2*C.x*C.y - C.x,即2xy-x,向量场的散度是标量

(3)计算旋度

## curlC = CoordSys3D('C')
delop = Del() # nabla算子# 向量场 f = x**2*y*i-xy*j
f = C.x**2*C.y*C.i - C.x*C.y*C.jres = delop.cross(f, doit=True)# res = curl(f)print(res)  # (-C.x**2 - C.y)*C.k,即(-x**2-y)*k,向量场的旋度是向量

Python/Sympy计算梯度、散度和旋度相关推荐

  1. 旋度的散度为零证明_(大牛分享)实列讲解:Python Sympy计算梯度、散度和旋度...

    今天为大家带来的内容是:(大牛分享)实列讲解:Python Sympy计算梯度.散度和旋度 sympy有个vector 模块,里面提供了求解标量场.向量场的梯度.散度.旋度等计算,官方参考连接: ht ...

  2. python中计算梯度值

    在python中,有关函数梯度的计算方法均在python库sympy的vector包里,要想实现梯度计算首先要从vector包里导入两个类,分别是:CoordSys3D和Del. CoordSys3D ...

  3. python psi计算_KL散度,PSI,IV值之间的故事

    原标题:KL散度,PSI,IV值之间的故事 KL散度,PSI,IV值之间的故事 01 KL散度 KL散度也称KL距离或相对熵.是一个从信息论.熵的角度量化距离的量,但跟一般的距离有不一样的地方. 距离 ...

  4. python/sympy计算施密特正交化向量

    sympy的符号计算功能很强大,学习矩阵分析,重温了线性代数中施密特正交化的方法,正好可以用sympy解决一些计算问题.施密特正交化,也称 Gram-Schmidt 正交化过程 (Gram–Schmi ...

  5. 中计算散度的函数_梯度、散度、旋度

    一.麦克斯韦基于四元数观点导出散度与旋度 已知的最早的关于散度和旋度的描述都来自麦克斯韦1873年的<A Treatise on Electricity and Magnetism>(电磁 ...

  6. [转载]梯度、散度、旋度的关系

    原文链接:https://blog.csdn.net/sinat_34546420/article/details/78234268 转自 百度文库https://wenku.baidu.com/vi ...

  7. 有关对梯度、散度、旋度的纯数学理解

    声明:由于笔者只是一名大一并且非数学系的本科生,以下内容基于自己的理解与参考了几位博主的blog通俗易懂的讲解梯度,散度,旋度(有图很好理解)!!!(算是对这个博客的通俗理解吧)所以想深度了解的请转向 ...

  8. 梯度的直观理解_如何直观形象的理解梯度,散度,旋度?

    这是我以前看到有人这么解释,比较形象,希望对你有帮助. 梯度: 运算的对像是纯量,运算出来的结果会是向量在一个标量场中, 梯度的计算结果会是"在每个位置都算出一个向量,而这个向量的方向会是在 ...

  9. 梯度、散度和旋度及在图像处理中的应用(图像融合)

     对于有些人,看这些枯燥的公式符号是件痛苦的事情:但痛苦后总会有所欣喜,如果你充分利用它的话,你更能体会到他的美妙:先来几张效果图,激发你学习数学的欲望: 注释:图像融合效果,分别应用了不同的算法 ...

最新文章

  1. 软考之运筹学计算-车床问题
  2. 数字图像处理:第十章 离散图象变换
  3. http/https面试总结
  4. python数据框常用操作_转载:python数据框的操作
  5. Spring配置JPA的xml路径的问题
  6. 普通摄像头游戏——飞翔
  7. python本科毕业论文范文_【软件工程论文】软件工程论文范文(共40篇)
  8. 分享Android开发中用到的图标icon设计下载地址
  9. 怎样用计算机10,win10计算器如何使用?win10自带计算器的使用方法
  10. html标签logo怎么去掉,镜片上的logo怎么去掉
  11. Gerber文件介绍
  12. 医院排队叫号系统(JAVA版)
  13. 为何中国移动的上网速度最慢,无阻它成为最大运营商?
  14. tar linux 跳过解压,【linux命令】linux解压压缩命令tar详解以及压缩的时候如何跳过某一个压缩目录或文件...
  15. 选择二极管要考虑哪些点?
  16. 事件分发流程,史上最全的Android面试题集锦,大厂内部资料
  17. 集成学习【一】:集成学习(Ensemble Learning)结合神经网络
  18. 深度学习和缠论应用,JQData应用
  19. 缓存穿透,击穿,雪崩
  20. linux 墙上时钟,有逼格的时间显示方式:唯美优雅地射墙上

热门文章

  1. 使用bat脚本完成关机、滑动关机和重启
  2. Maven仓库配置环境变量
  3. 更新 MatterMost 7.1.2 至 7.10.0
  4. 思路——耍赖获取token及抓包
  5. (转)MyEclipse-7.5.0版注册码破解及激活操作
  6. 《NJUPT》网络信息安全_期末PPT整理笔记
  7. Git码云项目开发中常用分支
  8. 《火炬之光》各种常用属性英文翻译
  9. 解决“Vector Hardware Manager无法连接This Computer”(能够独立解决问题,体现一个人的综合能力)
  10. harvest(10)