BlockEncoding.dagger#

BlockEncoding.dagger() BlockEncoding[source]#

Returns a new BlockEncoding representing the Hermitian conjugate of the operator.

For a block-encoded operator \(A\) with block-encoding unitary \(U_A\), this method returns a new BlockEncoding with unitary \(U_A^{\dagger}\). The resulting block-encoding represents the operator \(A^{\dagger}\) with the same scaling factor \(\alpha\).

Returns:
BlockEncoding

A new BlockEncoding instance representing the Hermitian conjugate of the operator.

Examples

Define a block-encoding and obtain its Hermitian conjugate.

from qrisp.block_encodings import BlockEncoding
from qrisp.operators import X, Y, Z

H = X(0)*Y(1) + 0.5*Z(0)*X(1)
BE = BlockEncoding.from_operator(H)
BE_dg = BE.dagger()