maxframe.tensor.linalg.lu#
- maxframe.tensor.linalg.lu(a)[source]#
LU decomposition
- The decomposition is::
A = P L U
where P is a permutation matrix, L lower triangular with unit diagonal elements, and U upper triangular.
- Parameters:
a ((M, N) array_like) – Array to decompose
- Returns:
p ((M, M) ndarray) – Permutation matrix
l ((M, K) ndarray) – Lower triangular or trapezoidal matrix with unit diagonal. K = min(M, N)
u ((K, N) ndarray) – Upper triangular or trapezoidal matrix
Examples
>>> 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]])