《雁栖湖畔的暑期学校》为系列文章,本篇文章为系列文章最后一篇。文章均为亲自参加了该暑期学校的学员所学所感~本来是抱着再回雁栖湖逛逛看一眼以前的风景顺便听听课的心情参加的这次暑期学校。但没想到来得真是异常的值。不管是课程还是风景。雁栖湖是一如既往的清洁和安静。
每天从宿舍伸着腿儿午睡完,要经过一片被太阳晒得滚烫的石砖路,路的尽头才是教室,而这条路很长,看不到多少人,所以每天就有那么十多分钟,会带着午睡完的恍惚沉浸在烈日和“呲啦~呲啦~”的蝉鸣声中,非常夏天!有时候天气特别好,好到傍晚能在天边看到清晰的维拉斯带,就会邀上师兄师姐去湖边闲逛发呆,或者半夜跟朱国毅他们扛着三脚架拍流星去。
说起来这个清华小伙人生地不熟的,结果翻起墙爬起山来比我这土著利索得多,不愧是要为祖国健康工作五十年的人。上课的地方是一个空调开得很冷的大教室,课程节奏却非常快。一种不管温度还是节奏都一定要跟外面对着干的架势。课程内容大致上是一周多点的蒙卡,一周的DMRG和tensor, 一周DMFT。本以为纯粹讲计算方法跟技术的课程安排可能会比较无聊。但不得不说,超出原先的预料了。
很多老师课程的准备明显是用心了的。因此,即使我这样完全没接触过蒙卡的人在第一周也学到了大量的细节。第三周的DMFT推导得很清晰,很舒服。DMRG和tensor自己熟悉,感触反不如另两种深。除了上课,另一件投入时间比较多的事情是code camptition。具体就是用蒙卡解几个自旋玻璃模型的基态,能量最低者胜,获胜者奖励一个比特币。
现在回想起来,像我这样的matlab狂魔,既不太会code也不太会蒙卡,还欣然接受了挑战,当时真是心大得不行。不过花了点时间研究了下python的语法,倒也写出来一个像模像样的程序。但这个比赛的激烈程度显然超出了大家的预料。不到一周,就有超过七八人在规定时间内算出了理论的(maybe)最低能量值。没办法,最后只好临时修改规则,算出最低能量并用时最少者胜。
据说最后获胜的用C语言的台湾同学把计算时间从规定的100秒压缩到了3秒!了不起!不过没拿到奖金的我也挺开心的,因为我已经自己摸索着把matlab中的向量化编程的技巧移植到了python中,而且是多层的向量化优化。这么极端的抠性能的trick,如果没有这个比赛,我应该是不会去想的。所以在追逐金钱的过程中,我不小心收获了实打实的知识。
还有比这更棒的么?暑期学校虽然只有短短的三周,却足以用包罗万象、各显神通来形容。因为日程安排极为紧凑,这次短暂的暑期学校给我以充实加疲惫的感觉。整个暑期学校令我印象最为深刻的,莫过于我自己做的关于基态量子蒙特卡洛算法讲解的报告以及之前的准备和后期的完善。虽然用这套算法做前沿研究已经一年半了,这却是我第一次正式讲解这套算法,而且面对这么多的老师和同学。
将之前感觉压力巨大,所以花了很多时间准备,尤其是特意将讲解算法的流程准备成邓友金老师讲过的标准模式。在讲解的过程中,我自己把握了算法的重点和相关重要细节。我个人认为这是一次很成功的讲解,首先是我自己在这个过程中形成了自己一套对于算法理解的范式,其次我很欣慰地看到很多同学觉得我讲的不错并愿意学习。这次一个多小时的报告,我想我自己应该是收获最大的人之一。
这次暑期学校也使得我有机会了解学习强关联数值计算的一些其他的数值计算方法,并在将来的研究中更容易拓展自己的研究领域。紧张而充实的暑期学校在一片掌声中落下了帷幕。坐在回去的火车上,这些天的回忆在脑海中久久回荡。暑期学校的主题是强关联数值计算,主办者邀请了国内外二十余名目前工作在强关联数值计算第一线的科研工作者来为我们授课或者做报告。非常高兴能在现场听到那些平时只能在paper上看到名字的学者的报告。
以前心里一直觉得离他们好远,好像是不同世界的人。而如今我们却同在一个房间,听着他们述说科研上的奇妙经历。此时,我明白了那些歌迷为何不惜花费昂贵的门票也要去现场听他们的偶像唱歌。原来是这个味道。这次暑期学校不仅仅是学者们来授课或者做报告,我们学生也组织了两场有一定水平的学术报告。这是孟子杨老师领头,由临时组成的学生学术委员会所组织的。很荣幸的是我也是学术委员会之一。
报告采取自愿报名原则,怀着忐忑的心我鼓起勇气报了名,这是我第一次在这样的场合做报告,心里异常紧张。在准备报告时本来觉得有好多东西可以讲,可以呈现许多有意思的物理。但一上台,却发现不知道该怎么向听众去讲述工作背后的故事及物理,如何讲得有意思,易于理解,于是只能硬着头皮勉强撑下来。对于这个问题我或许很早就意识到了但一直没有好好地去面对它,克服它。
做好自己的工作固然重要,但如何向别人介绍自己的工作,或者说“推销”自己也是一项不可或缺的能力。此外这两场学术会议的顺利进行,正如孟老师所说的我们学生有能力自己去组织举办这样的会议,也应该有意识地去锻炼这方面的能力。另一件感触比较深的是王磊老师举办的代码比赛,是要求找完全图下的伊辛自旋玻璃的低能态,能量越低越好。
这个比赛竞争非常激烈,多人找到了相同的低能态,以至于王老师不得不先后增加两条额外的规则才将胜者唯一确定下来。我也尝试了一下,但最后由于闲麻烦没有继续进行下去。
获胜者为大家介绍了自己这一路的所思所想所做,听下来其实他的方法与许多其他同学的方法是一样的,他获胜的的关键在于非常仔细地考虑了程序里面的细节,做了许多优化,选择了合适的编译器,并不断调节参数,最后使程序的运行速度提高了一个数量级,可谓是一种非常“暴力”的求解方式。不过说回来,科研在很多情况下不就是这么一个暴力求解的过程吗?
通常的情况都是我们不愿花足够的耐心去老老实实解决它,都希望能灵光一现,找到一条美妙的捷径,优美地解决问题。说道这,我想起了电影《阿甘正传》里的主人公阿甘,每当他认定一个目标后,就一直朝着他前进,而不像别人一样会计划很久,然后才小心翼翼地匍匐前进,最后还未到终点可能自己的冲劲就已经被耗尽了。有时候做一个傻人未尝不是一件好事,可能傻福就在不远处呢?