# mars.tensor.diagflat¶

mars.tensor.diagflat(v, k=0, sparse=None, gpu=False, chunk_size=None)[source]

Create a two-dimensional tensor with the flattened input as a diagonal.

Parameters
• v (array_like) – Input data, which is flattened and set as the k-th diagonal of the output.

• k (int, optional) – Diagonal to set; 0, the default, corresponds to the “main” diagonal, a positive (negative) k giving the number of the diagonal above (below) the main.

• sparse (bool, optional) – Create sparse tensor if True, False as default

• gpu (bool, optional) – Allocate the tensor on GPU if True, False as default

• chunk_size (int or tuple of int or tuple of ints, optional) – Desired chunk size on each dimension

Returns

out – The 2-D output tensor.

Return type

Tensor

diag

MATLAB work-alike for 1-D and 2-D tensors.

diagonal

Return specified diagonals.

trace

Sum along diagonals.

Examples

>>> import mars.tensor as mt

>>> mt.diagflat([[1,2], [3,4]]).execute()
array([[1, 0, 0, 0],
[0, 2, 0, 0],
[0, 0, 3, 0],
[0, 0, 0, 4]])

>>> mt.diagflat([1,2], 1).execute()
array([[0, 1, 0],
[0, 0, 2],
[0, 0, 0]])