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

tensorflow:: ops:: MatrixBandPart

#include <array_ops.h>

Copy a tensor setting everything outside a central band in each innermost matrix to zero.

Summary

The band part is computed as follows: Assume input has k dimensions [I, J, K, ..., M, N] , then the output is a tensor with the same shape where

band[i, j, k, ..., m, n] = in_band(m, n) * input[i, j, k, ..., m, n] .

The indicator function

in_band(m, n) = (num_lower < 0 || (m-n) <= num_lower)) && (num_upper < 0 || (n-m) <= num_upper) .

For example:

# if 'input' is [[ 0,  1,  2, 3]
#                [-1,  0,  1, 2]
#                [-2, -1,  0, 1]
#                [-3, -2, -1, 0]],

tf.linalg.band_part(input, 1, -1) ==> [[ 0,  1,  2, 3]
                                       [-1,  0,  1, 2]
                                       [ 0, -1,  0, 1]
                                       [ 0,  0, -1, 0]],

tf.linalg.band_part(input, 2, 1) ==> [[ 0,  1,  0, 0]
                                      [-1,  0,  1, 0]
                                      [-2, -1,  0, 1]
                                      [ 0, -2, -1, 0]]

Useful special cases:

 tf.linalg.band_part(input, 0, -1) ==> Upper triangular part.
 tf.linalg.band_part(input, -1, 0) ==> Lower triangular part.
 tf.linalg.band_part(input, 0, 0) ==> Diagonal.

Args:

  • scope: A Scope object
  • input: Rank k tensor.
  • num_lower: 0-D tensor. Number of subdiagonals to keep. If negative, keep entire lower triangle.
  • num_upper: 0-D tensor. Number of superdiagonals to keep. If negative, keep entire upper triangle.

Returns:

  • Output : Rank k tensor of the same shape as input. The extracted banded tensor.

Constructors and Destructors

MatrixBandPart (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input num_lower, :: tensorflow::Input num_upper)

Public attributes

band
operation

Public functions

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Public attributes

band

::tensorflow::Output band

operation

Operation operation

Public functions

MatrixBandPart

 MatrixBandPart(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input num_lower,
  ::tensorflow::Input num_upper
)

node

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const