dpctl.tensor.eye(n_rows, n_cols=None, /, *, k=0, dtype=None, device=None, usm_type='device', sycl_queue=None)[source]

Creates dpctl.tensor.usm_ndarray with ones on the k-th diagonal.

  • n_rows (int) – number of rows in the output array.

  • n_cols (int, optional) – number of columns in the output array. If None, n_cols = n_rows. Default: None

  • k (int) – index of the diagonal, with 0 as the main diagonal. A positive value of k is a superdiagonal, a negative value is a subdiagonal. Raises TypeError if k is not an integer. Default: 0

  • dtype (optional) – data type of the array. Can be typestring, a numpy.dtype object, numpy char string, or a NumPy scalar type. Default: None

  • order ("C" or F") – memory layout for the array. Default: "C"

  • device (optional) – array API concept of device where the output array is created. device can be None, a oneAPI filter selector string, an instance of dpctl.SyclDevice corresponding to a non-partitioned SYCL device, an instance of dpctl.SyclQueue, or a dpctl.tensor.Device object returned by dpctl.tensor.usm_ndarray.device. Default: None

  • usm_type ("device", "shared", "host", optional) – The type of SYCL USM allocation for the output array. Default: "device"

  • sycl_queue (dpctl.SyclQueue, optional) – The SYCL queue to use for output array allocation and copying. sycl_queue and device are complementary arguments, i.e. use one or another. If both are specified, a TypeError is raised unless both imply the same underlying SYCL queue to be used. If both are None, a cached queue targeting default-selected device is used for allocation and population. Default: None


A diagonal matrix.

Return type: