Python的量化编程练习

感觉只会Fortran可能不太好,所以想多掌握一些语言。但是之前看了看C++,觉得挺难的,所以一瞬放弃了。结果还是「人生苦短,我用Python」。利用NumPy,Python能够与Fortran混编。而且SciPy自带数值计算库,我估计很多时候都没必要自己用Fortran去实现。

由于单纯学语法没啥意思,所以想找一下具体的课题来练习。显然量化编程最合适了。量化编程的练习都是来自Crawdad的网站。网站里是用C++来实现的,我则是用Python写。按照惯例,在GitHub上开了个坑:py-qc

说起来我感觉Psi4应该是个不错的平台(可以看10.1021/acs.jctc.8b00286这篇文章),等更加熟练了Python和Numpy之后想尝试一下。

matplotlib绘制等高线图的几个细节

由于毕业课题涉及到绘制复合物相互作用能的势能面,所以我为了绘制得到较美观的势能面等高线图而仔细看了matplotlibcontourf函数的手册。

实际上一开始是想用gnuplot画图的,但我需要绘制的势能面有一个挺麻烦的特征:其数值的范围非常大。也就是在两个分子靠得比较近的较小的区域里,相互作用能的数值大约为几万(正值,是一种互相排斥的状态);而在两个分子远离的较大区域内,此时作用很弱,因此数值接近零。这种情况下,gnuplot在没有其他设置(我不太清楚是否真的有相关的选项)的情况下绘制出的图效果很不好。
继续阅读matplotlib绘制等高线图的几个细节

色彩通用设计——插图色彩的选择

本文翻译自Masataka Okabed的文章Color Universal Design (CUD)

实际上我没有全部翻译,主要是选择了与科研绘图相关的部分。这篇文章主要立足于使颜色的使用对色盲人群更为友好。但其实由于科研论文在很多时候也会被黑白打印,所以这种情况下确保插图的可读性也是很重要的。


继续阅读色彩通用设计——插图色彩的选择

学习数值计算ing

这学期选了个数值计算的选修课。虽然老师并不考察程序实现,不过我会用课余时间把讲过的数值方法尽可能自己实现一遍。

所以在GitHub上又挖了一个坑:numerical

每个部分会写一个小文档,在对应的文件夹里可以找到,这边就不写了(全部堆在一个页面就会很长)。

P.S. 写 \(\LaTeX\) 文档和用 Mathematica 绘图真的很花时间……

萌百东方版记事——その壱

从上海(苏州)回来后学习了几天Lua,给萌百东方板块写了一个模块,使萌百东方版在技术上更先进了一些。

一直以来对THBWiki映射表很感兴趣。对于东方Project的百科而言,映射表可用来控制像诸如角色称号、曲名和符卡之类的内容在全站保持一致。之前还在编辑群里让囧仙介绍过THBWiki的技术情况,其中包含了映射表:
继续阅读萌百东方版记事——その壱