qml.labs.dla.BDI

BDI(op, p=None, q=None, wire=None)[source]

Canonical Cartan decomposition of type BDI, given by \(\theta: x \mapsto I_{p,q} x I_{p,q}\).

The matrix \(I_{p,q}\) is given by

\[I_{p,q}=\text{diag}(\underset{p \text{times}}{\underbrace{1, \dots 1}}, \underset{q \text{times}}{\underbrace{-1, \dots -1}}).\]

For \(p=q=2^N\) for some integer \(N\), we have \(I_{p,q}=Z_0\).

Note

Note that we work with Hermitian operators internally, so that the input will be multiplied by \(i\) before evaluating the involution.

Parameters
  • op (Union[np.ndarray, PauliSentence, Operator]) – Operator on which the involution is evaluated and for which the parity under the involution is returned.

  • p (int) – Dimension of first subspace.

  • q (int) – Dimension of second subspace.

  • wire (int) – The wire on which the Pauli-\(Z\) operator acts to implement the involution. Will default to 0 if None.

Returns

Whether or not the input operator (times \(i\)) is in the eigenspace of the involution \(\theta\) with eigenvalue \(+1\).

Return type

bool