第九十章 秒掉莫斯科(3 / 7)

投票推荐 加入书签 留言反馈

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

章节目录