# tensorflow::ops::MatrixSetDiag

#include <array_ops.h>

Returns a batched matrix tensor with new batched diagonal values.

## Summary

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.

Arguments:

• scope: A Scope object
• input: Rankk+1, where k >= 1.
• diagonal: Rankk, where k >= 1.

Returns:

• Output: Rankk+1, with output.shape = input.shape.

### Constructors and Destructors

MatrixSetDiag(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input diagonal)

operation
output

### Public functions

node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

## Public attributes

### operation

Operation operation

### output

::tensorflow::Output output

## Public functions

### MatrixSetDiag

MatrixSetDiag(
const ::tensorflow::Scope & scope,
::tensorflow::Input input,
::tensorflow::Input diagonal
)

### node

::tensorflow::Node * node() const

### operator::tensorflow::Input

operator::tensorflow::Input() const

### operator::tensorflow::Output

operator::tensorflow::Output() const