获取scipy的gmres迭代方法的迭代次数

山姆

我想知道scipy.sparse.linalg.gmres收敛需要多少次迭代,但是似乎没有论据。有一个maxiter参数可以设置为终止该方法,但是没有一个参数可以显示该方法正在执行的迭代次数。有人可以帮我弄这个吗?

ali_m

为了说明@cel的评论,您可以实现一个简单的计数器类,如下所示:

class gmres_counter(object):
    def __init__(self, disp=True):
        self._disp = disp
        self.niter = 0
    def __call__(self, rk=None):
        self.niter += 1
        if self._disp:
            print('iter %3i\trk = %s' % (self.niter, str(rk)))

您可以这样使用它:

import numpy as np
from scipy.sparse.linalg import gmres

A = np.random.randn(10, 10)
b = np.random.randn(10)

counter = gmres_counter()

x, info = gmres(A, b, callback=counter)
# iter   1        rk = 0.999558746968
# iter   2        rk = 0.960490282387
# iter   3        rk = 0.945887432101
# iter   4        rk = 0.931790454216
# iter   5        rk = 0.877655067142
# iter   6        rk = 0.739596963239
# iter   7        rk = 0.677886023198
# iter   8        rk = 0.52015135005
# iter   9        rk = 0.168298366785
# iter  10        rk = 9.22692033803e-16

print(counter.niter)
# 10

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取迭代次数?

来自分类Dev

迭代次数

来自分类Dev

在迭代对象 JavaScript 时获取 for...of 循环中的迭代次数

来自分类Dev

获取基于当前枚举值的迭代次数

来自分类Dev

避免迭代以获取 Pandas 中的出现次数

来自分类Dev

更新函数并从scipy获取迭代结果

来自分类Dev

限制函数迭代次数

来自分类Dev

计算迭代次数

来自分类Dev

迭代次数公式?

来自分类Dev

SML:跟踪迭代次数

来自分类Dev

获取二进制%运算符迭代次数

来自分类Dev

Tryinf迭代Map,如何跟踪迭代次数?

来自分类Dev

错误位置方法达到最大迭代次数限制

来自分类Dev

用Newton-Raphson方法计算迭代次数

来自分类Dev

反应当前的迭代次数

来自分类Dev

如何每秒显示迭代次数?

来自分类Dev

用人偶迭代设定的次数

来自分类Dev

向量的迭代次数大于size()

来自分类Dev

AspectJ-循环迭代次数

来自分类Dev

计算循环中的迭代次数

来自分类Dev

重复迭代特定次数的数组?

来自分类Dev

如何更改for循环的迭代次数?

来自分类Dev

使用 TestCaseSource 时的迭代次数

来自分类Dev

最大迭代次数/时钟周期

来自分类Dev

检索为SciPy中的稀疏线性求解器运行的迭代次数

来自分类Dev

检索为SciPy中的稀疏线性求解器运行的迭代次数

来自分类Dev

如何使用 groovy 获取相同键的所有 JSON 值迭代次数?

来自分类Dev

通过迭代获取计数

来自分类Dev

获取正确的迭代器