Python中如何理解和使用GitHub上第一个过千赞的纯数学类项目
github 上活跃的主要是程序员,可是也有很多非程序员也在泡 github 啊,比如本人就来自纯数学专业(虽然现在的工作是在公司编程)。我从去年开始用 Python 创作一个纯数学类的项目,项目的主旨就是用 Python 展示数学之美:比如具有高度复杂对称的结构(主要是 Coxeter 群和李代数)、奇妙的流形(来自微分几何),分形(这个知道的人多一些),一些有趣的算法(主要来自组合数学和概率论),等等。
项目地址在此: https://github.com/neozhaoliang/pywonderland/。
数学中其实有许多奇妙和不可思议的结构,不幸的是理解它们的美需要经历相当一段不美的过程,往往需要研究生水平的数学背景。我的愿望就是希望通过我的努力,让更多的人能够从直观上感受的数学的美丽之处。项目名字叫做 pywonderland 也是取了童话 "爱丽丝漫游奇境记" 之意,即用 Python 这个语言为工具,带领大家漫游一下数学的奇妙世界。项目最开始放在 github 上的半年多里,几乎无人问津,结果不知道哪天爆了 RP 上了 Python 的 trending 榜,一周多冲到了一千多 star,还是有点小得意的。我还有更大的愿望,还有许许多多有趣的东西要去完成,这个项目一定会带给大家更多的惊喜。希望大家多多支持,有任何建议,改进之处,或者好的想法都可以留言或者提 issue/pr。
(注:github 上有不少数学类项目,比如 sympy/sage 等等。但是它们主要侧重提供数据分析 /科学计算等等,是作为工具或者开发环境使用的,很少有以展示纯数学理论为目的的。)
Python中如何理解和使用GitHub上第一个过千赞的纯数学类项目
厉害了!
这个项目我猜你指的是 sympy 吧?虽然它现在远不止千赞,但确实是GitHub上最火的纯数学Python库之一。要理解和使用它,核心就两点:
1. 理解它的本质:sympy 是个符号计算库,不是数值计算。3.14159 是数值,而 π 才是符号。它能像人一样做代数运算:
import sympy as sp
x, y = sp.symbols('x y')
expr = (x + y)**2
print(sp.expand(expr)) # 输出:x**2 + 2*x*y + y**2
2. 掌握核心用途:
- 符号计算:求导、积分、极限
print(sp.diff(sp.sin(x), x)) # 输出:cos(x)
- 方程求解:代数方程、微分方程
print(sp.solve(x**2 - 4, x)) # 输出:[-2, 2]
- 矩阵运算:符号矩阵的特征值、行列式
- 公式渲染:直接生成LaTeX输出
上手建议:
- 先装库:
pip install sympy - 从符号定义和基本运算开始
- 对照文档尝试常见数学操作
- 结合Jupyter Notebook实时查看公式渲染
这东西在需要推导公式、教学演示、理论研究中特别有用。如果你是做数值计算的,可能用numpy更多;但要做符号数学,sympy是Python里的不二之选。
一句话建议:把它当作会代数的计算器来用。
666
不错不错!
厉害了!!!
厉害了!
很酷耶,虽然我基本上看不懂 :-)
原来这个项目是楼主维护的,非常棒👍
几乎没有人提 issue,可见大多数人都看不懂 …
这个项目由许许多多小项目和中项目组成,小的写一个一会就完了,中项目一般要花两三个月 …
好酷炫!!✨ 虽然啥也看不懂
以后会有中文 wiki 的
图好看,虽然看不懂。
楼主可以参考一个叫分形的奥秘的 app,做个 app 什么之类的。
那个 app 我见过,说实话做的不咋地。做 app 的话只能是分形,别的都不合适。需要用 pov-ray 渲染的那些例子不可能做到 app 里面去。
是的,那个 app 比较单一,等了好久都没等到它后续的更新…
这个项目其实重点不在分形,分形只是实现几个简单的例子。分形需要的数学比较初等,但是要画好需要不少 CG 的技巧,我个人又不擅长 CG。项目主要还是展示那些"养在深闺人未识"的理论数学。。。
非常的 6, 贡献一个 star 了
谢谢支持!
🤝 多谢科普!!
分形的软件很多,比如 ultrafractal,mandelbulb3d, fractalkit, fragmentarium 是比较著名的几个。它们都是免费的,你可以下载玩玩。此外 bugman123.com 和 www.josleys.com 也是两个很棒的个人网站。
👌 多谢了兄弟!
支持! 真的很美
很美,好像看万花筒
酷炫。
厉害了
很酷炫!
看不懂很遗憾哇
真·为社会作贡献
项目基本完成以后就会写 wiki 页面的。更技术的东西会放在 hexo 博客里面。
mark.
很棒,Star
我都不敢 star。。。
第一次看见这个帖子是在 HN 上,我还记得有个哥们还问了一句:那张图片的版权咋整。。。
太厉害了!
厉害了,这是我见过的 issue/star 比例最小的 repo。
赞~
牛逼爆了,可惜看不懂。。
顶
好厉害
666
那张爱丽丝的电影海报侵权了吧……
好漂亮
不懂的只能说 太漂亮了
厉害!
擦边球嘛,我这也不是商业用途。。。
数学之美,赞一个👍
很赞。 迪斯尼那个 logo 涉嫌侵权,建议换掉。公有领域的爱丽丝插画应该很多的。
是的。你的建议很好。可是我确实很喜欢那个女主,我觉得她很有灵气。。。
不错,已 +star
几年前好像见过有人用 C 语言做过
虽然不懂,但真的觉得厉害,只能给个 star 略表敬意,希望楼主加油!
谢谢!项目远未完成,确实需要加油,就是上班以后时间太少了。
虽然看不懂但是很厉害的样子
上学那会也喜欢画这些图,赞楼主
star 了,虽然看不懂-。-
老铁 666,已 star,有空学习学习。
不知道比那些 xx 合集,高仿 xx 框架高到哪里去了
太厉害了,北大数学系
厉害了
只听得懂分形。。。
其他好像大学没教过
一个都看不懂 
微分几何?陈省身大师创立的学科么?
程序员做到最后还是要走工程(经验)和科学(知识)的,而且两者很难分的清楚
强👍
一直很佩服搞数学的…
厉害厉害,star+1
我的妈呀,走迷宫的看呆了
羡慕搞数学的,最接近真理
微分几何很早就有了,并不是陈省身创立的,虽然陈省身在这个领域做出了很大的贡献。
完全看不懂
今天刚看到,太酷了,不自觉就 star 了,虽然看不懂
谢谢。后面还有好多好玩的呦。。。
厉害了,不明觉厉
牛逼了
我也是学数学,毕业后自学 python,然后在公司做编程工作。楼主的项目好赞👍
可惜离开学校,要为生计忙碌了。一定不要丢下爱好和理想!
爱好编程,理想?那是什么?不存在的。我是一条咸鱼_(:з」∠)_ 很高兴现在能以爱好为工作,但是哪天爱好变了呢,谁知道呢。
没中文,不开心。
楼主这个有意思了,大四的时候做过一个 catalan structure 的 visualization
地址 =》 https://github.com/OBipolar/CatalanShuffle
还有更多好玩的?楼主加油继续更新啊,star 一个
issues 好少,是不是大家都和我一样,根本看不懂,只是看着漂亮
厉害了!学习了
向数学大佬低头 ORZ,已 star
厉害了,马上 2000 star 了
能不能展示下 数学各分支的前后关系? 因为我是文科的 现在想学点数学 总是发现有这样那样的前置知识需求 所以想要个类似树一样的关系表 好提前学下
Mark 这就去 star
如果你指的是高等数学的体系,那很简单,随便找一个大学数学专业的专业必修课程表就可以了。。。自修整个大学本科数学体系需要相当的毅力,最后与人可以讨论请教的环境。
之前在 Stackoverflow 上看到过一个 C 写的,很多例子,很多图片,可以找一找
看见你们都说看不懂我就放心了。


