Skip to content

dq.destroy

destroy(*dims: int, layout: Layout | None = None) -> QArray | tuple[QArray, ...]

Returns a bosonic annihilation operator, or a tuple of annihilation operators for a multi-mode system.

If multiple dimensions are provided \(\mathtt{dims}=(n_1,\dots,n_N)\), it returns a tuple with len(dims) operators \((A_1,\dots,A_N)\), where \(A_k\) is the annihilation operator acting on the \(k\)-th subsystem within the composite Hilbert space of dimension \(n=\prod n_k\): $$ A_k = I_{n_1} \otimes\dots\otimes a_{n_k} \otimes\dots\otimes I_{n_N}. $$

Parameters

  • *dims –

    Hilbert space dimension of each mode.

  • layout –

    Matrix layout (dq.dense, dq.dia or None).

Returns

(qarray or tuple of qarrays, each of shape (n, n)) Annihilation operator(s), with n = prod(dims).

Examples

Single-mode \(a\):

>>> dq.destroy(4)
QArray: shape=(4, 4), dims=(4,), dtype=complex64, layout=dia, ndiags=1
[[    â‹…     1.   +0.j     â‹…         â‹…    ]
 [    â‹…         â‹…     1.414+0.j     â‹…    ]
 [    â‹…         â‹…         â‹…     1.732+0.j]
 [    â‹…         â‹…         â‹…         â‹…    ]]

Multi-mode \(a\otimes I_3\) and \(I_2\otimes b\):

>>> a, b = dq.destroy(2, 3)
>>> a
QArray: shape=(6, 6), dims=(2, 3), dtype=complex64, layout=dia, ndiags=1
[[  â‹…      â‹…      â‹…    1.+0.j   â‹…      â‹…   ]
 [  â‹…      â‹…      â‹…      â‹…    1.+0.j   â‹…   ]
 [  â‹…      â‹…      â‹…      â‹…      â‹…    1.+0.j]
 [  â‹…      â‹…      â‹…      â‹…      â‹…      â‹…   ]
 [  â‹…      â‹…      â‹…      â‹…      â‹…      â‹…   ]
 [  â‹…      â‹…      â‹…      â‹…      â‹…      â‹…   ]]
>>> b
QArray: shape=(6, 6), dims=(2, 3), dtype=complex64, layout=dia, ndiags=1
[[    â‹…     1.   +0.j     â‹…         â‹…         â‹…         â‹…    ]
 [    â‹…         â‹…     1.414+0.j     â‹…         â‹…         â‹…    ]
 [    â‹…         â‹…         â‹…         â‹…         â‹…         â‹…    ]
 [    â‹…         â‹…         â‹…         â‹…     1.   +0.j     â‹…    ]
 [    â‹…         â‹…         â‹…         â‹…         â‹…     1.414+0.j]
 [    â‹…         â‹…         â‹…         â‹…         â‹…         â‹…    ]]