------- .. [1] "Preconditioner", Wikipedia, https://en.wikipedia.org/wiki/Preconditioner .. [2] "Biconjugate gradient method", Wikipedia, https://en.wikipedia.org/wiki/Biconjugate_gradient_method Examples -------- >>> import numpy as np >>> from scipy.sparse import csc_array >>> from scipy.sparse.linalg import bicg >>> A = csc_array([[3, 2, 0], [1, -1, 0], [0, 5, 1.]]) >>> b = np.array([2., 4., -1.]) >>> x, exitCode = bicg(A, b, atol=1e-5) >>> print(exitCode) # 0 indicates successful convergence 0 >>> np.allclose(A.dot(x), b) True r