# tensorflow::ops::MatrixDiagV3::Attrs

`#include <array_ops.h>`

Optional attribute setters for [MatrixDiagV3](https://www.tensorflow.org/versions/r2.12/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.12/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.12/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.12/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"