江大数学学院不少师生发现,C楼二层那间标着C216的讨论室最近有些不对劲。
平时,这里只是供研究生开读书班,教授们举行组会,或是小课题组进行头脑风暴的地方。
它的常态是松散的充满咖啡味的,甚至是带着一点学术摸鱼的惬意。
但最近,它的门经常关着。
白板从原先零散的几个微积分公式,变成了密密麻麻的几何结构图。
那台老旧的惠普网络印表机几乎陷入了狂暴状态,连续不断地吞吐着A4纸。
陈彦,作为顾南舟教授手下最踏实的直博生,成了这台高速运转机器上的第一个承压轴承。
他每天抱着一摞又一摞散发着热气和刺鼻墨香的材料,在导师办公室、大型服务器机房和C216讨论室之间来回奔波。
第一天,他的神情是兴奋的。
第二天,是凝重的。
到了第四天,他脸上的表情已经退化为物理意义上的麻木。
有时候,路过的同门研究生看着他眼底青黑头发凌乱的模样,会忍不住拉住他问:“陈师兄,你们组最近在搞什么大工程,怎么连轴转成这样?”
陈彦一开始还会扯动一下僵硬的嘴角,按照顾老板的吩咐敷衍一句:“帮别的院系整理一点交叉学科的材料,跑点数据。”
后来,当睡眠严重不足导致他的前额叶皮层开始罢工时,他连敷衍都懒得敷衍了。
“擦地。”
有一天,他抱着刚打出来的五百页日志文档,两眼发直地回答。
对方愣住,看了看陈彦手里的文档,又看了看走廊光可鉴人的瓷砖:“什么,顾老板现在开始压榨博士生做保洁了?”
陈彦面无表情地盯着地上的瓷砖拼接缝隙,声音幽幽得象个游魂:“数学意义上的擦地。”
那人更加听不懂了。
陈彦也没打算解释。
因为他自己,也快被那张存在于高维逻辑空间里的地板给磨疯了。
所谓Tile J的计算机辅助核验包,在正式进入多节点并行复跑阶段后,陈彦才真正用身体和精神的双重崩溃,明白了那句这是体力活到底是什么意思。
在此之前,陈彦负责打印和整理纸面证明。
那些充斥着复杂的局部补丁定义、群作用分类和层级递推推导的手稿,虽然也不好懂,但至少保留着古典数学的浪漫。
在阅读那些手稿时,陈彦还能感受到一种我在接近宇宙真理,我在凝视上帝的拼图的崇高错觉。
有一种智力上的愉悦感。
然而,核验包的运行,完全是另一回事。
它不象证明那样闪耀着人类智慧的光芒,它更象是一个毫无感情的星际仓库盘点系统。
在证明非周期单砖的过程中,局部强迫规则会产生海量的边界匹配情况。
为了证明没有一种情况可以导致周期性平移,机器必须遍历所有的局部状态。
一类状态生成,评估,切入下一类状态,再扩展到下一类状态的邻域。
合并同构等价类,给每一种图谱赋予绝对唯一的哈希编号。
发现闭环,标记为死路,记录拓扑矛盾原因。
输出动辄几百MB几个GB的JSON文档,计算多项式哈希值,生成追朔日志。
然后:报错,排查,修改脚本,重跑;再报错,再重跑。
江临交上来的这个被称为MPS的核验包,代码风格并不花哨。
没有那些大厂程序员喜欢搞的炫技般的图形界面,没有错综复杂,动辄需要安装半天环境的外部依赖库,也没有那种看起来运用了各种高
整个文档夹的结构,带着一种极简主义的冷酷。
陈彦第一次在江大数学学院的内网服务器上解压这个包的时候,心里其实是松了一口气的。
作为经常帮导师跑各种祖传屎山代码的博士生,他见过太多惨不忍睹的脚本。
眼前这个包,目录清淅,命名规范,看起来挺干净。。
第一轮,江大办公室那台配置顶配,装载了双路至强处理器和128G内存的Linux
陈彦的心提到了嗓子眼。
如果数学模型错了,那意味着过去几天的狂欢只是一场泡沫。
他凑近屏幕,盯着报错信息看了十几秒,忽然有一种想笑,却又想砸键盘的冲动。
不是证明错。
不是逻辑错。
不是内存溢出。
是文档读写错误。
而且原因荒诞到了极点。
工作站之前被另一个院系的老师借用过,系统环境变量的一个临时路径里包含了一个全角的中文用户名。
而江临的脚本在调用底