第九十章 秒掉莫斯科(3 / 7)
直到七十年代末,预条件技术的突破才让这个方法真正实用化。
而这道题,恰恰要求选手设计一个预条件子,並实现完整的求解流程。
陆沉放下题目。
他知道这道题的標准解法一不完整的cholesky分解作为预条件子,结合共軛梯度叠代。这是他前世做数值计算时烂熟於心的东西。
但问题在於——
1988年,不完整的cholesky分解的论文还没有发表。
原始论文是1990年才出现的。
如果他直接拿出这个解法,会引起什么反应?
不过这个念头只停留了一瞬。
他是来比赛的。
至於之后的事情,之后再说。
陆沉坐到终端前,开始敲击键盘。
中国队的分工是:陆沉负责核心算法设计,林枫负责输入输出和测试用例,另外两名队员负责文档和辅助验证。
但开赛十五分钟后,林枫就发现了一个问题。
“陆沉。”他压低声音,“你写的这个预条件子————是什么方法?”
“不完整的cholesky分解。”
林枫翻了翻参考手册:“手册上没有。”
“嗯。
“
“那你怎么————”
“推导出来的。”陆沉没有停下手上的动作,“共軛梯度法的收敛速度取决於係数矩阵的条件数。如果能找到一个近似分解,使得预条件后的矩阵特徵值聚集,就能加速收敛。不完整分解的核心思想是,只保留原始矩阵稀疏结构內的元素,其他位置直接置零。”
林枫沉默了。
这些话他每一个字都听得懂,但连在一起就变成了一堵墙。
他决定不再问,专心做自己能做的事。
一个小时后,陆沉完成了核心代码。
他靠在椅背上,闭上眼睛,让代码在脑中的besm—6模擬器上跑了一遍。
正確。
效率標准解法的约60%运行时间。
够用了。
他重新睁开眼睛,准备继续完善文档。 ↑返回顶部↑
而这道题,恰恰要求选手设计一个预条件子,並实现完整的求解流程。
陆沉放下题目。
他知道这道题的標准解法一不完整的cholesky分解作为预条件子,结合共軛梯度叠代。这是他前世做数值计算时烂熟於心的东西。
但问题在於——
1988年,不完整的cholesky分解的论文还没有发表。
原始论文是1990年才出现的。
如果他直接拿出这个解法,会引起什么反应?
不过这个念头只停留了一瞬。
他是来比赛的。
至於之后的事情,之后再说。
陆沉坐到终端前,开始敲击键盘。
中国队的分工是:陆沉负责核心算法设计,林枫负责输入输出和测试用例,另外两名队员负责文档和辅助验证。
但开赛十五分钟后,林枫就发现了一个问题。
“陆沉。”他压低声音,“你写的这个预条件子————是什么方法?”
“不完整的cholesky分解。”
林枫翻了翻参考手册:“手册上没有。”
“嗯。
“
“那你怎么————”
“推导出来的。”陆沉没有停下手上的动作,“共軛梯度法的收敛速度取决於係数矩阵的条件数。如果能找到一个近似分解,使得预条件后的矩阵特徵值聚集,就能加速收敛。不完整分解的核心思想是,只保留原始矩阵稀疏结构內的元素,其他位置直接置零。”
林枫沉默了。
这些话他每一个字都听得懂,但连在一起就变成了一堵墙。
他决定不再问,专心做自己能做的事。
一个小时后,陆沉完成了核心代码。
他靠在椅背上,闭上眼睛,让代码在脑中的besm—6模擬器上跑了一遍。
正確。
效率標准解法的约60%运行时间。
够用了。
他重新睁开眼睛,准备继续完善文档。 ↑返回顶部↑