# tf.raw_ops.MatrixSetDiag

<br />

Returns a batched matrix tensor with new batched diagonal values.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.raw_ops.MatrixSetDiag`](https://www.tensorflow.org/api_docs/python/tf/raw_ops/MatrixSetDiag)

<br />

    tf.raw_ops.MatrixSetDiag(
        input, diagonal, name=None
    )

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 />

<br />

<br />

| ## Args ||
|---|---|
| `input` | A `Tensor`. Rank `k+1`, where `k >= 1`. |
| `diagonal` | A `Tensor`. Must have the same type as `input`. Rank `k`, where `k >= 1`. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor`. Has the same type as `input`. ||

<br />