I'm looking for an implementation or a slightly more efficient algorithm for finding optimal Mutually Unbiased Bases (MUB). What I mean here are MUBs in terms of Pauli Strings as described here. There are implementations in Qiskit available which do not give the optimal partitioning into MUBs, however I need the optimal partitioning, namely for Pauli strings of length $n$ there should be $2^n+1$ sets with $2^n-1$ mutually commuting elements each. For example $n=2$ can yield the partitioning:
$$'IZ', 'ZI', 'ZZ'$$ $$'IX', 'XI', 'XX'$$ $$'XZ', 'YX', 'ZY'$$ $$'YI', 'IY', 'YY'$$ $$'ZX', 'XY', 'YZ'$$
Sets which consist of $Z$ and $I$ only can be fixed beforehand in my case such that the problem reduces to finding $2^n$ sets with $2^n-1$ elements. Since this problem is supposed to be NP-hard as described here, I'm looking for implementations which make it at least a bit smarter than I do. I implemented an algorithm (which constructs the sets step by step in a bruteforce manner) but with this I am only able to find the sets for $n=2$ and $n=3$, anything above takes drastically more time. I was browsing the literature already but could not find anything - has anyone hints?