Help protect the Great Barrier Reef with TensorFlow on Kaggle

# 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`
`::tensorflow::Output`
`operation`
`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 `
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]