第97章 他不会是在瞎写吧

    第97章 他不会是在瞎写吧
    李东刚才太过兴奋,这会儿才反应过来自己坐错位置了。
    “啊,不好意思啊,我看错座號了。”
    李东连忙站起身,把靠窗的a座让了出来,坐到了旁边靠过道的c座上。
    那个男生见李东態度挺好,也客气的点了点头,把行李塞进行李架后,便在靠窗的位置坐了下来。
    他叫秦飞,是北理工计算机科学与技术专业的一名大三学生。
    作为常年混跡在京都地铁4號线上的高校学子,秦飞平时的课业压力其实非常大,尤其是他主攻的方向还是“高性能计算(hpc)与底层算法优化”。
    今年大三升大四,秦飞正处於衝刺考研的关键期。
    本来这个暑假他是没打算回老家的,想留在学校实验室里继续肝他的算力项目。
    但由於自己太过优秀,前期复习进度远超预期,考研保底基本没啥悬念了。
    再加上过年那会儿就没回家,於是才回家看了看爸妈。
    【记住全网最快小説站101??????.??????】
    现在开学了,他自然也要回学校了。
    坐到座位上后,秦飞掏出一副降噪耳机戴上,就將目光投向窗外飞速倒退的风景。
    而坐在旁边的李东,已经从包里拿出了那台联想笔记本电脑,直接架在了高铁的摺叠小桌板上。
    “今天,我非得把那座屎山代码给推平了不可!”
    李东打开电脑。
    他果断拋弃了之前那个效率低下的python脚本,打开了c++的集成开发环境(
    ide)。
    要跑黎曼zeta函数的非平凡零点验证,必须上底层语言,同时要用gmp和mpfr
    库来保证计算精度。
    0.3的基础属性直接拉满,配上【代码直觉(基础版)】
    他觉得自己现在强的可怕————
    “噼里啪啦——————噼里啪啦————”
    戴著降噪耳机的秦飞被身旁李东的动作给吸引了。
    他微微偏过头,瞥了一眼。
    “thinkbook?“
    秦飞在心里暗暗摇了摇头。
    “买个主打轻薄商务的轻薄本用来敲代码?这散热压得住吗?这同学怕是被割韭菜了吧————”
    带著一丝懂行人的优越感,秦飞又看向了李东的电脑屏幕,然后就愣了一下。
    void riemannsiegelz(...)
    mpfr—ttheta—t;
    “嗯?”
    秦飞眉头微挑。
    “用c++写黎曼—西格尔公式?这小子在跑黎曼zeta函数的非平凡零点验证?
    ,秦飞心里多少有些意外,在高铁上居然遇到了同专业的学生?
    不过他还是带著上位者的心態在看李东的代码。
    因为在他们北理工的高性能计算实验室里,这种项目实在是太常见了。
    计算机算力发展到今天,用经典的数学难题,比如计算圆周率百亿位呀、大素数筛法这些来作为benchmark(基准测试),去检验一套底层算法的优化程度,是他们这帮hpc方向学生的家常便饭。
    而且,秦飞前段时间为了准备考研复试和毕业设计的开题,自己也手搓过一套验证黎曼零点的程序。
    “想法倒是不错,用这个来练手。”
    秦飞摇了摇头,看著那台笔记本电脑,在心里暗暗吐槽。
    “不过,就凭这台被割韭菜的轻薄本,你这算法能跑到什么级別?”
    “十万级?还是百万级?”
    “估计跑到一百万个零点,这內存分配的碎片和cpu的温度,就能把这台机子直接干蓝屏吧。”
    秦飞心中篤定。
    因为他自己当时做这个项目的时候,可是动用了学校实验室的高性能伺服器集群。
    通过极其严苛的多线程並发控制和cpu三级缓存的命中率优化,他硬生生將零点计算推到了上亿级的恐怖规模!
    他甚至觉得,如果当时自己再把內存指针的回收机制打磨一下,摸到十亿级的门槛也不是不可能。
    “还是太业余了呀————”
    秦飞有些好为人师的摇了摇头,索性也不看风景了,就这么饶有兴致的盯著李东的屏幕,权当是在旅途中找点乐子了。
    此时,李东也没注意旁边有个高手在,他只优化自己的算法。
    秦飞看著,先是暗自点头。
    “嗯,不错。”
    “知道拋弃原始的欧拉乘积公式,直接上riemann—siegelformula。”
    “主和项的循环写得很规范,余项展开的泰勒截断也算合理。”
    “时间复杂度標准的0(t^(1/2)),对於一个普通学生来说,这代码底子算得上扎实了。”
    秦飞在心里给出了一个“中规中矩”的评价。
    然而,就在秦飞以为李东接下来会顺理成章的去写多线程加速代码时。
    李东却突然停了下来。
    然后就按下了退格键,竟然把刚刚写好的,那段堪称教科书般標准的黎曼一西格尔主和项循环计算代码————
    刪掉了一大半!
    秦飞愣了一下。
    “他干嘛?写错撤回了?”
    但接下来李东敲出的代码,却让秦飞彻底看迷糊了。
    李东没有去纠结如何加快单次计算的速度。
    他有【代码直觉】还有《黎曼绝笔》里的那种降维数学思维,他现在已经可以初步找到通往现代计算机底层逻辑的完美桥樑了。
    他在代码顶部,重新引入了一个名为⁢fftw3.h>的头文件。
    这是著名的快速傅立叶变换(fft)开源库。
    然后又在代码中定义一个密集的评估网格。
    voidmultipointevaluation grid(...)
    他將需要逐个点代入t值去硬算的黎曼zeta函数,通过构建局部多项式,强行转化为了在网格点上的泰勒级数展开。
    紧接著,李东调用了fft算法,让这些多项式在频域內进行高速相乘。
    秦飞已经把降噪耳取了下来,眼睛看著李东的电脑屏幕,呼吸都变得有些急促了。
    “等等————这特么是在干什么?”
    秦飞想用自己学过的知识去去解析这套代码背后的逻辑。
    “算黎曼zeta函数,你引个快速傅立叶变换(fft)进来干嘛?这两者八竿子打不著啊!”
    “还有这个多点求值矩阵?他把泰勒展开放在网格上————”
    突然,他好像想到了什么“他————他不是在算单点!他是在利用fft的高效卷积特性,把一个大区间內的所有零点求值,强行打包成了一个並行的多项式运算?”
    “用多点求值去分摊黎曼—西格尔公式主和项那恐怖的计算开销?”
    这其实就是黎曼写在手稿里,没未被后世学界发现的零点计算的思路。
    比后来公开的odlyzko—schonhage算法早了近一个半世纪,甚至在数学底层上,把后者的时间复杂度又往下压了整整一个维度。
    但秦飞不可能知道啊!
    在他的认知里,黎曼—西格尔公式带来的0(t^(1/2))复杂度,就是单零点计算的理论下限。
    哪怕是学界最快的0s算法,也只是工程化的极限优化,根本不可能跳出这个数学框架。
    而现在,眼前这个傢伙,他到底在干什么?是想要推翻整个计算架构吗?
    “这怎么可能?!”
    秦飞感觉他疯了。
    “把主和项展开成矩阵运算,理论上虽然能降低平均复杂度,但误差怎么控制?你这么搞,浮点数的截断误差绝对会呈指数级爆炸的!”
    然而,还没等秦飞在心里反驳完。
    李东继续在多点求值的网格间,穿插了几段带限函数的插值滤波代码,完美的將积分路径的截断误差死死的锁在了一个极小的数学边界內!
    每一行指针的游走,每一次內存的復用,都用的很优雅。
    “不对————就算是0s算法,也不可能用这么少的代码、这么低的內存开销实现!”
    “他这个插值逻辑,根本不是现代数值分析的思路————这到底是哪来的算法?!”
    秦飞彻底看呆了。
    虽然他认识那些c++的语法,但组合在一起的算法逻辑,他已经完全跟不上了。
    “他不会是在瞎写吧?”
    “这样写————真的可以跑通吗?”
    秦飞陷入了深深的自我怀疑中。
本站所有小说均来源于会员自主上传,如侵犯你的权益请联系我们,我们会尽快删除。

腐文书,免费小说,免费全本小说,好看的小说,热门小说,小说阅读网
版权所有 https://www.fuwenshu1.com All Rights Reserved, 联系邮箱:ad#taorouwen.com