线性求解器的复杂微分

计算科学 线性代数 线性求解器 数字 迭代法 复分析
2021-12-08 06:23:50

我有一个线性系统

Ax=b
我正在近似地解决这个问题,我需要取 x 对 z 的 frechet 导数。我是否准确地解决了问题(无论是分析还是机器 0)我只想说
dxdzv=dA1bdzv=(dAdzA1dAdzb+A1dbdz)v
由于我没有精确地求解系统(说是 2 个精度),我认为获得灵敏度的最佳方法是对线性系统进行复杂的扰动。即,求解线性系统,但它在哪里: 然后我可以取 x 的虚部。这会按我想要的方式工作吗?那么如果我想要线性求解的伴随微分,我会给矩阵一个复杂的扰动并转置它吗?
A(z+iϵv)x=b(z+iϵv)

这与我之前发布的问题有关: 近似矩阵逆的导数

1个回答

以这种方式线性化前向模式确实有效,并且将对应于机器精度。尽管我希望相反,反向或伴随模式不能以这种方式工作。我发布的推导与机器精度并不完全对应,但我所做的数值测试表明,误差的大小取决于近似线性求解的线性公差和右手边的大小。