ML Community Day is November 9! Join us for updates from TensorFlow, JAX, and more Learn more

Lu

public final class Lu

Computes the LU decomposition of one or more square matrices.

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.

Public Methods

static <T, U extends Number> Lu<T, U>
create(Scope scope, Operand<T> input, Class<U> outputIdxType)
Factory method to create a class wrapping a new Lu operation.
static <T> Lu<T, Integer>
create(Scope scope, Operand<T> input)
Factory method to create a class wrapping a new Lu operation using default output types.
Output<T>
lu()
A tensor of shape `[..., M, M]` whose strictly lower triangular part denotes the lower triangular factor `L` with unit diagonal, and whose upper triangular part denotes the upper triangular factor `U`.
Output<U>
p()
Permutation of the rows encoded as a list of indices in `0..M-1`.

Inherited Methods

Public Methods

public static Lu<T, U> create (Scope scope, Operand<T> input, Class<U> outputIdxType)

Factory method to create a class wrapping a new Lu operation.

Parameters
scope current scope
input A tensor of shape `[..., M, M]` whose inner-most 2 dimensions form matrices of size `[M, M]`.
Returns
  • a new instance of Lu

public static Lu<T, Integer> create (Scope scope, Operand<T> input)

Factory method to create a class wrapping a new Lu operation using default output types.

Parameters
scope current scope
input A tensor of shape `[..., M, M]` whose inner-most 2 dimensions form matrices of size `[M, M]`.
Returns
  • a new instance of Lu

public Output<T> lu ()

A tensor of shape `[..., M, M]` whose strictly lower triangular part denotes the lower triangular factor `L` with unit diagonal, and whose upper triangular part denotes the upper triangular factor `U`.

public Output<U> p ()

Permutation of the rows encoded as a list of indices in `0..M-1`. Shape is `[..., M]`.