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–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.