Returns a diagonal tensor with a given diagonal values.

tf.raw_ops.Diag( 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 dimensions [D1,..., Dk], then the output is a tensor of rank 2k with dimensions [D1,..., Dk, D1,..., Dk] where:

`output[i1,..., ik, i1,..., ik] = diagonal[i1, ..., ik]`

and 0 everywhere else.

# 'diagonal' is [1, 2, 3, 4] tf.diag(diagonal) ==> [[1, 0, 0, 0] [0, 2, 0, 0] [0, 0, 3, 0] [0, 0, 0, 4]]

Args | |
---|---|

`diagonal` | A `Tensor` . Must be one of the following types: `bfloat16` , `half` , `float32` , `float64` , `int32` , `int64` , `complex64` , `complex128` . Rank k tensor where k is at most 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/Diag