dq.eye_like
eye_like(
    x: QArrayLike, dims: tuple[int, ...] | None = None, layout: Layout | None = None
) -> QArray
Returns the identity operator in the Hilbert space of the input.
Parameters
- 
          x
          
              
(qarray-like of shape (..., n, 1) or (..., 1, n) or (..., n, n))              
          – 
Ket, bra or operator.
 - 
          dims
          
              
(tuple of ints or None)              
          – 
Dimensions of each subsystem in the composite system Hilbert space tensor product. Defaults to
None(x.dimsif available, single Hilbert spacedims=(n,)otherwise). - 
          layout
          
              
(dq.dense, dq.dia or None)              
          – 
Overrides the returned matrix layout. If
None, the layout is the same asx. 
Returns
(qarray of shape (n, n)) Identity operator, with n = prod(dims).
Examples
Single-mode \(I_4\):
>>> a = dq.destroy(4)
>>> dq.eye_like(a)
QArray: shape=(4, 4), dims=(4,), dtype=complex64, layout=dia, ndiags=1
[[1.+0.j   â‹…      â‹…      â‹…   ]
 [  â‹…    1.+0.j   â‹…      â‹…   ]
 [  â‹…      â‹…    1.+0.j   â‹…   ]
 [  â‹…      â‹…      â‹…    1.+0.j]]
Multi-mode \(I_2 \otimes I_3\):
>>> a, b = dq.destroy(2, 3)
>>> dq.eye_like(a)
QArray: shape=(6, 6), dims=(2, 3), dtype=complex64, layout=dia, ndiags=1
[[1.+0.j   â‹…      â‹…      â‹…      â‹…      â‹…   ]
 [  â‹…    1.+0.j   â‹…      â‹…      â‹…      â‹…   ]
 [  â‹…      â‹…    1.+0.j   â‹…      â‹…      â‹…   ]
 [  â‹…      â‹…      â‹…    1.+0.j   â‹…      â‹…   ]
 [  â‹…      â‹…      â‹…      â‹…    1.+0.j   â‹…   ]
 [  â‹…      â‹…      â‹…      â‹…      â‹…    1.+0.j]]
See also
dq.eye(): returns the identity operator.