haripkannan - 1 year ago 71

Python Question

How to retrieve how many iterations ran to achieve specified tolerance level in SciPy sparse linear system solvers?

Answer Source

The solvers support a `callback`

keyword argument that gets called after every iteration. So you could do something like this:

```
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]
```