求scipy中线性算子的对角线

92dk7w1h  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(59)

我有一个函数A(x),我已经使用scipy.sparse.linalg.LinearOperator将其转换为线性运算符:

A_operator = scipy.sparse.linalg.LinearOperator((ny, nx), matvec=A).

我有一个Ax=B的问题,我使用共轭梯度法(scipy.sparse.linalg.cg)来解决,但是它是发散的,所以我认为我的函数A可能是病态的。
我需要通过取A的对角线的倒数来预处理。
如何容易地找到一个线性算子或函数的对角线?我只能找到计算矩阵对角线的函数,而且我的问题太大,无法将A显式表示为矩阵。

ui7jx7zq

ui7jx7zq1#

如果函数是一个矩阵,我用手工计算来找到函数的对角线。

相关问题