# tensorflow::ops::MatrixSetDiag Class Reference

# tensorflow::
ops::
MatrixSetDiag

`
#include <array_ops.h>
`


Returns a batched matrix tensor with new batched diagonal values.

## Summary


Given
`
input
`
and
`
diagonal
`
, this operation returns a tensor with the same shape and values as
`
input
`
, except for the main diagonal of the innermost matrices. These will be overwritten by the values in
`
diagonal
`
.


The output is computed as follows:


Assume
`
input
`
has
`
k+1
`
dimensions
`
[I, J, K, ..., M, N]
`
and
`
diagonal
`
has
`
k
`
dimensions
`
[I, J, K, ..., min(M, N)]
`
. Then the output is a tensor of rank
`
k+1
`
with dimensions
`
[I, J, K, ..., M, N]
`
where:


- `
  output[i, j, k, ..., m, n] = diagonal[i, j, k, ..., n]
  ` for `
  m == n
  ` .
- `
  output[i, j, k, ..., m, n] = input[i, j, k, ..., m, n]
  ` for `
  m != n
  ` .

<br />


Args:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- input: Rank `
  k+1
  ` , where `
  k >= 1
  ` .
- diagonal: Rank `
  k
  ` , where `
  k >= 1
  ` .

<br />


Returns:

- `
  https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output
  ` : Rank `
  k+1
  ` , with `
  output.shape = input.shape
  ` .

<br />

| ### Constructors and Destructors ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/matrix-set-diag#classtensorflow_1_1ops_1_1_matrix_set_diag_1af9f6deaf5d71f88356239fd1fceb3bd5 (const :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input input, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input diagonal) ` ||

| ### Public attributes ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/matrix-set-diag#classtensorflow_1_1ops_1_1_matrix_set_diag_1ac564fb65fed63cd95c5a876d8cfcb004 ` | ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/matrix-set-diag#classtensorflow_1_1ops_1_1_matrix_set_diag_1a58d08deb35db4f1602c1df59432ade6c ` | ` :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output ` |

| ### Public functions ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/matrix-set-diag#classtensorflow_1_1ops_1_1_matrix_set_diag_1a20fc7ca0974220bfcd3a3aee08803d6c () const ` | ` ::tensorflow::Node * ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/matrix-set-diag#classtensorflow_1_1ops_1_1_matrix_set_diag_1af98eee12ae5e443a923b794be760afd7 () const ` | ` ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/matrix-set-diag#classtensorflow_1_1ops_1_1_matrix_set_diag_1adf4b733c12f7c7dc2387318fafff0413 () const ` | ` ` |

## Public attributes

### operation

```
Operation operation
```

### output

```
::tensorflow::Output output
```

## Public functions

### MatrixSetDiag

```
 MatrixSetDiag(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input diagonal
)
```

### node

```
::tensorflow::Node * node() const 
```

### operator::tensorflow::Input

```
 operator::tensorflow::Input() const 
```

### operator::tensorflow::Output

```
 operator::tensorflow::Output() const 
```