eye

dragon.eye(
  n,
  m=None,
  k=0,
  dtype='float32',
  **kwargs
)[source]

Return a tensor constructed as the identity matrix.

\[\text{out} \leftarrow \text{diag}(1, 1, ..., 1) \]

The rows and cols of matrix are determined by n and m:

print(dragon.eye(2))     # [[1., 0.], [0., 1.]]
print(dragon.eye(2, 3))  # [[1., 0., 0.], [0., 1., 0.]]

The diagonal could be controlled by k:

  • k > 0: Populate upper diagonal
  • k = 0: Populate main diagonal
  • k < 0: Populate lower diagonal
Parameters:
  • n (Union[int, dragon.Tensor]) – The number output rows.
  • m (Union[int, dragon.Tensor], optional) – The number output cols.
  • k (int, optional, default=0) – The index of diagonal.
  • dtype (str, optional, default='float32') – The optional data type.
Returns:

dragon.Tensor – The output tensor.