cupyx.scipy.linalg.lu#

cupyx.scipy.linalg.lu(a, permute_l=False, overwrite_a=False, check_finite=True)[源代码][源代码]#

LU 分解。

将给定的二维矩阵分解为 P @ L @ U,其中 P 是一个置换矩阵,L 是一个具有单位对角线的下三角或梯形矩阵,U 是一个上三角或梯形矩阵。

参数:
  • a (cupy.ndarray) – 维度为 (M, N) 的输入矩阵。

  • permute_l (bool) – 如果 True ,执行乘法 P @ L

  • overwrite_a (bool) – 允许覆盖 a 中的数据(可能会提高性能)

  • check_finite (bool) – 是否检查输入矩阵是否仅包含有限数值。禁用可能会提高性能,但如果输入包含无穷大或NaN,可能会导致问题(崩溃、无法终止)。

返回:

(P, L, U) 如果 permute_l == False,否则为 (PL, U)P 是一个 cupy.ndarray,存储维度为 (M, M) 的置换矩阵。L 是一个 cupy.ndarray,存储具有单位对角线的下三角或梯形矩阵,维度为 (M, K),其中 K = min(M, N)U 是一个 cupy.ndarray,存储上三角或梯形矩阵,维度为 (K, N)PL 是一个 cupy.ndarray,存储置换后的 L 矩阵,维度为 ``(M, K)`。

返回类型:

tuple