I am trying to implement QAOA for graph coloring with hard constraints. In this paper, eq. 9 a custom mixer is proposed, is looks like this:
$B_{ui} = \frac{1}{2^{l + 1}}(X_{u0}X_{u1} + Y_{u0}Y_{u1}) \prod_{j=1}^l(I + Z_{v_ji})$.
$l$ is the number of neighboring nodes, u - the node, i - the color. And I think, there is a mistake, and $i$ should be instead of ones. As I understand, new mixer unitary is this:
$\hat{U}_M = \prod_{u, i} e^{-i\frac{a}{2^{l+1}}X_{u0}X_{u1}\prod_{j=1}^l(I + Z_{v_ji})}e^{-i\frac{a}{2^{l+1}}Y_{u0}Y_{u1}\prod_{j=1}^l(I + Z_{v_ji})}$
How to implement this on qiskit? Are there any tips, examples or advice?
I know how to implement terms which are products of Pauli gates such as $Z_iZ_kY_j$ or something like it, but I have no idea, how to write product in general, especially when $I$ is involved.
I have found a question, which shed light on how to implement custom mixers, but I still don't quite understand.
A blog post could be helpful, investigating. Not exactly, there are solutions for exact number of nodes, which I might try.