论文部分内容阅读
自动微分方法以较小的代价计算函数的导数,它在导数计算时间和计算精度等方面具有传统有限差分方法无法比拟的优越性。如今,自动微分方法在许多依赖导数的各种非线性数值算法中得到了重要的应用。
切线性模式和伴随模式是两种典型的一阶微分模式。切线性模式以较小的计算代价分析求解函数的方向导数,而伴随模式则以计算原函数几倍的计算代价分析求解函数的梯度。在原模式的基础上,切线性模式易于改写,而伴随模式的开发则通常比较困难。
本文对含部分可分性的函数使用稀疏自动微分技术来计算其梯度,并通过Rosenbrock例子做了进一步的验证和说明。本文将非稀疏性的Jacobian问题转换为稀疏性的扩展Jacobian问题,通过理论分析和实例比较了分别运用这两种方法求解Jacobian矩阵的计算代价。同时对一些可利用结构性的计算方法进行了分析和说明。本文使用堆栈解决了含公用块变量程序的伴随化问题,并在XIAMEN程序优化中得到了应用,最后给出了该程序优化的一些结果。