Returns a batched diagonal tensor with a given batched diagonal values.

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]`

.

# '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)

Args | |
---|---|

`diagonal` | A `Tensor` . Rank `k` , where `k >= 1` . |

`name` | A name for the operation (optional). |

Returns | |
---|---|

A `Tensor` . Has the same type as `diagonal` . |

© 2020 The TensorFlow Authors. All rights reserved.

Licensed under the Creative Commons Attribution License 3.0.

Code samples licensed under the Apache 2.0 License.

https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/raw_ops/MatrixDiag