| 自动微分转换系统及其应用 |
| 当前位置: 论文资料 >> 理学论文 >> 物理学 >> 自动微分转换系统及其应用 | ||
| 自动微分转换系统及其应用 | ||||
|
4.2 数值导数和微分 切线性模式最基本的应用就是在一定扰动输入下求解输出变量的扰动(响应)。表4.1给出了DFT系统在对IAP 9L模式、GPS Rayshooting模式和GPS Raytrace模式三个数值模式做切线性化的具体应用中,一些不同计算粒度、不同引用深度和不同程序风格的核心子过程,以及它们的切线性模式在SGI 2000上运行的统计评价测试结果,其中切线性模式的可靠性指标都准确到六个有效数字以上,在运行时间、存储开销和代码复杂性方面分别是原模式的两倍左右,比较接近于理想的微分代价结果(1.5倍)。除了IAP 9L模式由于过于复杂仅做粗略统计外,其余模式都用非注释语句行数来表示各自的代码复杂性。 表4.1 DFT系统在三个数值模式中的统计评价测试结果
Xyz2g 2.530 6.160 5524 11048 55 89
EPSIMP 1.760 11.50 4455 8910 13 27
(3) 这里设 , 。运用DFT系统,可以得到对应的切线性模式 (4) 其中 , 为切线性模式的扰动输入参数。可以通过以下办法来求得偏导数: (5) 其中 。如果对于某个 既是输入参数又是输出参数,可以类似以下过程引用的办法来处理。对于过程引用的情形,例如一个含有 个输入参数的子过程 (6) 其中 , 为输入参数; , 为输出参数; , 既为输入参数又为输出参数。运用DFT系统,可以得到对应的切线性模式为 其中 , , , 分别为切线性模式的微分扰动输入、输出和输入输出参数。可以通过以下输入扰动设置并引用切线性模式(7)来求得偏导数: a) 设置 ; ( , ); ( )可以同时求得 ( )和 ( ),其中 。
4.3 稀疏雅可比矩阵 运用上节讨论的方法来求解稀疏雅可比矩阵,具有极高的计算代价。例如,一个含 个独立和 个依赖参数的子过程,为求解整个雅可比矩阵就需要反复调用 次切线性模式,当 相当大时,这对许多实际的数值计算问题是不能接受的。事实上,如果雅可比矩阵的任意两列(行)相互正交,那么可以通过适当设置扰动输入值,这两列(行)的元素就可以通过一次引用切线性模式(伴随模式)完全得到。设 和 分别为雅可比矩阵的行宽度和列宽度,即各行和各列非零元素数目的最大值,显然有 , 。这里介绍几种常用的求解方法。 反向积分 当 和 时,通常采用伴随模式来计算雅可比矩阵。根据雅可比矩阵的稀疏结构,适当选择左乘初始输入矩阵,可以获得接近 的计算时间代价。其中左乘初始输入矩阵的求解过程完全可以按照上面的方法进行,但是在处理前必须先将雅可比矩阵转置,最后还需将得到的初始输入矩阵转置才能最终得到左乘初始输入矩阵。同时,其行宽度 也已经非常接近于其下界值 。 混合积分 如果将切线性模式和伴随模式相结合,往往可以避免梯度向量运算中的诸多冗余计算。例如,ADJIFOR系统在求解雅可比矩阵时,在语句级微分实现中首先用伴随方法求得所有偏导数,然后做梯度向量积分;其计算时间代价与 和模式的语句数目有关,而其存储代价为 。具体讨论可参考文献[7]。 5.结论 切线性模式在无截断误差意义上计算函数的方向导数、梯度或雅可比矩阵,以及在模式的可预测性及参数敏感性分析、伴随模式构造等相关问题中有着广泛应用。DFT系统主要用于求解FORTRAN 77语言编写的切线性模式,具有很强的全局数据相关分析能力。此外,DFT系统还具有其它几个重要特色,如结构化的微分实现、自动生成微分测试程序以及基于语句级的微分代码优化。本文简单给出了DFT系统在求解数值和符号导数和微分、稀疏雅可比矩阵中的应用。为评价一类自动微分系统,本文初步提出了统计准确率的概念。 [1] Andreas Griewank. On Automatic Differentiation. In M. Iri and K. Tanabe, editors, Mathematical Programming: [2] Le Dimet, F. X and O. Talagrand, Variational algorithms for analysis and assimilation of meteorological [3] P.Werbos, Applications of advances in nonlinear sensitivity analysis, In systems Modeling [4 ] Christian Bischof, Gordon Pusch, and Ralf Knoesel. "Sensitivity Analysis of the MM5 Weather Model using [5] Mu Mu, et al,The predictability problem of weather and climate prediction, Progress in Nature Science, accepted. [6] Giering R. et al. Recipes for Adjoint Code Construction. ACM Trans. On Math. Software. 1998,24(4): [7] C. Bischof, A. Carle, P. Khademi, and G. Pusch. "Automatic Differentiation: Obtaining Fast and Reliable Rostaining N. et al. Automatic Differentiation in Odyssee, Tellus, 1993,45A:558-568 |
||||
|
|
||||