# tf.raw_ops.MatrixDiag

<br />

Returns a batched diagonal tensor with a given 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.MatrixDiag`](https://www.tensorflow.org/api_docs/python/tf/raw_ops/MatrixDiag)

<br />

    tf.raw_ops.MatrixDiag(
        diagonal, name=None
    )

Given a `diagonal`, this operation returns a tensor with the `diagonal` and
everything else padded with zeros. The diagonal is computed as follows:

Assume `diagonal` has `k` dimensions `[I, J, K, ..., N]`, then the output is a
tensor of rank `k+1` with dimensions \[I, J, K, ..., N, N\]\` where:

`output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n]`.

#### For example:

    # 'diagonal' is [[1, 2, 3, 4], [5, 6, 7, 8]]

    and diagonal.shape = (2, 4)

    tf.matrix_diag(diagonal) ==> [[[1, 0, 0, 0]
                                         [0, 2, 0, 0]
                                         [0, 0, 3, 0]
                                         [0, 0, 0, 4]],
                                        [[5, 0, 0, 0]
                                         [0, 6, 0, 0]
                                         [0, 0, 7, 0]
                                         [0, 0, 0, 8]]]

    which has shape (2, 4, 4)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `diagonal` | A `Tensor`. Rank `k`, where `k >= 1`. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

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

<br />