Attend the Women in ML Symposium on December 7 Register now

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