pdft.bases.entangled_qft_code

pdft.bases.entangled_qft_code#

pdft.bases.entangled_qft_code(m, n, *, entangle_phases=None, inverse=False, entangle_position='back')[source]#

Return (einsum_fn, initial_tensors, n_entangle) for entangled 2D QFT.

Mirror of upstream src/entangled_qft.jl:135-258. Supported positions:

  • “back” (default): QFT_row ⊗ QFT_col → Entangle

  • “front”: Entangle → QFT_row ⊗ QFT_col

The “middle” position from upstream is not yet ported (see issue #2).

n_entangle = min(m, n). Each entanglement gate k couples row qubit (m - k + 1) with col qubit (m + n - k + 1).

Parameters:
Return type:

tuple[Callable[[…], Array], list[Array], int]