在 scipy 中求线性运算符的对角线

问题描述 投票:0回答:1

我有一个函数 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 明确表示为矩阵。

scipy operators diagonal preconditions
1个回答
0
投票

我手动计算了这个,以找到函数的对角线(如果它是矩阵)。

© www.soinside.com 2019 - 2024. All rights reserved.