cupyx.scipy.linalg.lu#

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

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,则可能导致问题(崩溃、无法终止)。

返回值:

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

返回类型:

tuple

另请参阅

scipy.linalg.lu()