Computes the LU decomposition of one or more square matrices.
tf.linalg.lu(
input, output_idx_type=tf.dtypes.int32, name=None
)
The input is a tensor of shape [..., M, M]
whose inner-most 2 dimensions
form square matrices.
The input has to be invertible.
The output consists of two tensors LU and P containing the LU decomposition
of all input submatrices [..., :, :]
. LU encodes the lower triangular and
upper triangular factors.
For each input submatrix of shape [M, M]
, L is a lower triangular matrix of
shape [M, M]
with unit diagonal whose entries correspond to the strictly lower
triangular part of LU. U is a upper triangular matrix of shape [M, M]
whose
entries correspond to the upper triangular part, including the diagonal, of LU.
P represents a permutation matrix encoded as a list of indices each between 0
and M-1
, inclusive. If P_mat denotes the permutation matrix corresponding to
P, then the L, U and P satisfies P_mat * input = L * U.
input
: A Tensor
. Must be one of the following types: float64
, float32
, half
, complex64
, complex128
.
A tensor of shape [..., M, M]
whose inner-most 2 dimensions form matrices of
size [M, M]
.output_idx_type
: An optional tf.DType
from: tf.int32, tf.int64
. Defaults to tf.int32
.name
: A name for the operation (optional).A tuple of Tensor
objects (lu, p).
lu
: A Tensor
. Has the same type as input
.p
: A Tensor
of type output_idx_type
.