maxframe.tensor.linalg.lu#
- maxframe.tensor.linalg.lu(a)[源代码]#
LU 分解
- 分解为:
A = P L U
其中 P 是置换矩阵,L 是单位对角线下三角矩阵,U 是上三角矩阵。
- 参数:
a ((M, N) array_like) -- 要分解的数组
- 返回:
p ((M, M) ndarray) -- 置换矩阵
l ((M, K) ndarray) -- 单位对角线的下三角或梯形矩阵。K = min(M, N)
u ((K, N) ndarray) -- 上三角或梯形矩阵
示例
>>> import maxframe.tensor as mt
>>> A = mt.array([[1,2],[2,3]]) >>> A.execute() array([[ 1, 2], [ 2, 3]]) >>> P, L, U = mt.linalg.lu(A) >>> P.execute() array([[ 0, 1], [ 1, 0]]) >>> L.execute() array([[ 1, 0], [ 0.5, 1]]) >>> U.execute() array([[ 2, 3], [ 0, 0.5]]) >>> mt.dot(P.dot(L), U).execute() # verify that PL * U = A array([[ 1, 2], [ 2, 3]])