BlockEncoding.from_operator#
- classmethod BlockEncoding.from_operator(O: QubitOperator | FermionicOperator) BlockEncoding[source]#
Constructs a BlockEncoding from an operator.
- Parameters:
- OQubitOperator | FermionicOperator
The operator to be block-encoded.
- Returns:
- BlockEncoding
A BlockEncoding representing the Hermitian part \((O+O^{\dagger})/2\).
Notes
Block encoding based on Pauli decomposition \(O=\sum_i\alpha_i P_i\) where \(\alpha_i\) are real positive coefficients and \(P_i\) are Pauli strings (including the respective sign).
Normalization: The block-encoding normalization factor is \(\alpha = \sum_i \alpha_i\).
Examples
>>> from qrisp.block_encodings import BlockEncoding >>> from qrisp.operators import X, Y, Z >>> H = X(0)*X(1) + 0.2*Y(0)*Y(1) >>> B = BlockEncoding.from_operator(H)