---
title: "diag"
sidebar_label: "diag"
description: "Kotlin binding reference: diag."
---

<!-- Generated by tools/api_reference/generate_api_docs.py. Do not edit. -->

//[clika-runtime](../../../index.md)/[io.clika.runtime](../index.md)/[Ops](index.md)/[diag](diag.md)

# diag

[common]\
fun [diag](diag.md)(input: [Tensor](../Tensor/index.md), diagonal: [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) = 0): [Tensor](../Tensor/index.md)

`diag(input: Tensor, diagonal: Long = 0L)`: the `diag` operator. Rank-1 <-> rank-2 diagonal converter. A vector of length `L` becomes an `(L + |diagonal|) x (L + |diagonal|)` matrix carrying it on the chosen diagonal (zeros elsewhere); a matrix input reads the chosen diagonal back out as a vector. `diagonal`: 0 = main, +k above, -k below. Copies.