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

Stuart Hadfield (or view on SciRate)

High-level points

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