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?
翻译:包含线性求解器调用的计算机程序是自动微分领域的一个已知挑战。先前的研究文献建议避免对底层求解器实现进行微分,而主张采用高级方法,将导数表达为一个可通过单独求解器调用解决的修正线性系统。尽管这一建议被广泛接受,但我们尚未发现以往工作对这两种方法的准确性进行过比较。因此,本文通过实证研究探讨一个简单问题:如果我们忽略这一普遍共识,直接对线性求解器进行微分,会发生什么?