Python 检索在SciPy中为稀疏线性解算器运行的迭代次数
如何检索运行了多少次迭代以达到指定的容差级别?解算器支持在每次迭代后调用的Python 检索在SciPy中为稀疏线性解算器运行的迭代次数,python,scipy,linear-algebra,Python,Scipy,Linear Algebra,如何检索运行了多少次迭代以达到指定的容差级别?解算器支持在每次迭代后调用的回调关键字参数。所以你可以这样做: def solve_sparse(A, b): num_iters = 0 def callback(xk): num_iters += 1 # call the solver on your data return scipy.sparse.linalg.cg(A, b, callback=callback)[0] 对于Python 3,可以执行以下操作:
回调
关键字参数。所以你可以这样做:
def solve_sparse(A, b):
num_iters = 0
def callback(xk):
num_iters += 1
# call the solver on your data
return scipy.sparse.linalg.cg(A, b, callback=callback)[0]
对于Python 3,可以执行以下操作:
def solve_sparse(A, b):
num_iters = 0
def callback(xk):
nonlocal num_iters
num_iters+=1
x,status=scipy.sparse.linalg.cg(A, b,tol=1e-15, callback=callback)
return x,status,num_iters