I’ve been studying Simon’s problem and developing simulation models using Mathematica to extend the problem to other abelian groups and hidden subgroups of order $\geq 2$. I can now obtain the $h^\perp$ to any “hidden subgroup” $h$ of the 3 abelian groups of order 8 - AbelianGroup[{2,2,2}], AbelianGroup[{2,4}], or AbelianGroup[{8}].

I am now trying to further generalize the Mathematica program in my toy examples. One tiny baby step at generalization is to change what I would call the "order" of the elements of $G$ but that word is so overloaded in this context. For example, is the identity element $e \in G$ always to be encoded as $|0 \rangle$ in the left register? What about all the other $g_i \in G$?

My question is very similar to the one posed in In the hidden subgroup problem for finite Abelian groups, where does the state $\frac{1}{\sqrt{|G|}}\sum_{g\in G} |g,0\rangle$ come from?, but I trying to make my question more pointed and the answer to my question is not found there.

When I use the the a list of $g_i$ in the sequence that Mathematica gives them to me for the assignment $g_i \rightarrow |i \rangle$ I get the correct $h^\perp$. When I manually change the sequence of $g_i$ in that list it of course remains same group of elements and I get the same cosets of $h$ in $G$, just in a different sequence, but then I don't (always) get the correct $h^\perp$ in all three toy cases.

What am I missing in the correct implementation of $\frac{1}{\sqrt{|G|}}\sum_{g\in G} | g,0\rangle$.

I hope my question is clearly conveyed.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.