On the representation of Boolean and real functions as Hamiltonians for quantum computing

High-level points

• “design toolkit for quantum optimization”
• for converting optimization problems to QAOA, VQE, annealing
• efficiently mapping boolean functions to fourier sums of pauli Z operators on Hamiltonians
• computational complexity of the mapping:
• It’s “#P-hard” to compute the Hamiltonian of a CNF (because the optimal solution is encoded in a coefficient)
• but efficient for sums of (local) Boolean clauses (related to MAX-CUT, etc)
• using this construction, can make CSP objective functions and controlled unitaries
• some study on the number of gates required to implement these hamiltonians

Fourier expansion

take a boolean function, then expand as the sum of subsets of n qubits (there are $$2^n$$ of them): $$H_f = \sum_{S\subset[n]} \hat{f}(S) \prod_{j\in S} Z_j$$

where $$\hat{f}(S) = 2^{-n} \sum_{x} f(x) (-1)^{S * x}$$

The Hamiltonian has the property: $$H_f|x\rangle = f(x)|x\rangle$$

in general, deciding $$f(\emptyset) = 0$$ is #P-hard. But for simple boolean functions (weighted sums of AND, OR, XOR, NOT of a few bits each), it’s a lot easier.

key point: if f acts on a constant $$d = O(1)$$ qubits, then $$H_f$$ takes poly(n) qubits, $$O(n^d)$$. These functions are efficiently representable

tags: QAOA  variational-quantum-algorithms  MaxCut