# tensorflow::ops::MatrixDiagV3::Attrs Struct Reference

# tensorflow::
ops::
MatrixDiagV3::
Attrs

`
#include <array_ops.h>
`


Optional attribute setters for
[MatrixDiagV3](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/matrix-diag-v3#classtensorflow_1_1ops_1_1_matrix_diag_v3)
.

## Summary

| ### Public attributes ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/struct/tensorflow/ops/matrix-diag-v3/attrs#structtensorflow_1_1ops_1_1_matrix_diag_v3_1_1_attrs_1aa8def1154da1ef6b6713204d7446e35a = "RIGHT_LEFT" ` | ` StringPiece ` |

| ### Public functions ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/struct/tensorflow/ops/matrix-diag-v3/attrs#structtensorflow_1_1ops_1_1_matrix_diag_v3_1_1_attrs_1ab62e0c57734394da6ff0aab875ba49ea (StringPiece x) ` | ` TF_MUST_USE_RESULT https://www.tensorflow.org/versions/r2.5/api_docs/cc/struct/tensorflow/ops/matrix-diag-v3/attrs#structtensorflow_1_1ops_1_1_matrix_diag_v3_1_1_attrs ` Some diagonals are shorter than ` max_diag_len ` and need to be padded. |

## Public attributes

### align_

```
StringPiece tensorflow::ops::MatrixDiagV3::Attrs::align_ = "RIGHT_LEFT"
```

## Public functions

### Align

```
TF_MUST_USE_RESULT Attrs tensorflow::ops::MatrixDiagV3::Attrs::Align(
  StringPiece x
)
```

Some diagonals are shorter than
`
max_diag_len
`
and need to be padded.


`
align
`
is a string specifying how superdiagonals and subdiagonals should be aligned, respectively. There are four possible alignments: "RIGHT_LEFT" (default), "LEFT_RIGHT", "LEFT_LEFT", and "RIGHT_RIGHT". "RIGHT_LEFT" aligns superdiagonals to the right (left-pads the row) and subdiagonals to the left (right-pads the row). It is the packing format LAPACK uses. cuSPARSE uses "LEFT_RIGHT", which is the opposite alignment.


Defaults to "RIGHT_LEFT"