TensorFlow 2.0 RC is available

# tf.linalg.set_diag

Defined in generated file: `python/ops/gen_array_ops.py`

Returns a batched matrix tensor with new batched diagonal values.

### Aliases:

• `tf.compat.v1.linalg.set_diag`
• `tf.compat.v1.matrix_set_diag`
• `tf.compat.v2.linalg.set_diag`
• `tf.matrix_set_diag`
``````tf.linalg.set_diag(
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`.

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

#### Returns:

A `Tensor`. Has the same type as `input`.