cupyx.scipy.sparse.linalg.cg#
- cupyx.scipy.sparse.linalg.cg(A, b, x0=None, tol=1e-05, maxiter=None, M=None, callback=None, atol=None)[源代码]#
使用共轭梯度迭代法求解
Ax = b
。- 参数:
A (ndarray, spmatrix 或 LinearOperator) – 线性系统的实数或复数矩阵,形状为
(n, n)
。A
必须是 Hermitian 正定矩阵,类型为cupy.ndarray
、cupyx.scipy.sparse.spmatrix
或cupyx.scipy.sparse.linalg.LinearOperator
。b (cupy.ndarray) – 线性系统的右手边向量,形状为
(n,)
或(n, 1)
。x0 (cupy.ndarray) – 解的初始猜测值。
tol (float) – 收敛容差。
maxiter (int) – 最大迭代次数。
M (ndarray, spmatrix 或 LinearOperator) –
A
的预条件子。预条件子应近似A
的逆矩阵。M
必须是cupy.ndarray
、cupyx.scipy.sparse.spmatrix
或cupyx.scipy.sparse.linalg.LinearOperator
。callback (function) – 用户指定的函数,每次迭代后调用。调用格式为
callback(xk)
,其中xk
是当前的解向量。atol (float) – 收敛容差。
- 返回值:
返回
x
(cupy.ndarray) 和info
(int),其中x
是收敛的解,info
提供收敛信息。- 返回类型: