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.

Args | |
---|---|

`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). |

Returns | |
---|---|

A tuple of `Tensor` objects (lu, p). | |

`lu` | A `Tensor` . Has the same type as `input` . |

`p` | A `Tensor` of type `output_idx_type` . |

© 2020 The TensorFlow Authors. All rights reserved.

Licensed under the Creative Commons Attribution License 3.0.

Code samples licensed under the Apache 2.0 License.

https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/linalg/lu