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
: Rankk
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
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