Computer programs containing calls to linear solvers are a known challenge for automatic differentiation. Previous publications advise against differentiating through the low-level solver implementation, and instead advocate for high-level approaches that express the derivative in terms of a modified linear system that can be solved with a separate solver call. Despite this ubiquitous advice, we are not aware of prior work comparing the accuracy of both approaches. With this article we thus empirically study a simple question: What happens if we ignore common wisdom, and differentiate through linear solvers?
翻译:包含线性求解器调用的计算机程序对自动微分构成了已知挑战。以往文献建议避免对底层求解器实现进行微分,而主张采用高阶方法,通过修改后的线性系统表达导数,并调用独立求解器进行处理。尽管这一建议被广泛采纳,但尚未有研究比较这两种方法的精确性。因此,本文通过实证研究探讨一个简单问题:若忽略常规建议,直接对线性求解器进行微分,将会产生何种结果?