The hidden subgroup problem (HSP) is a topic of research in mathematics and theoretical computer science. It is a generalization of problems including factoring, discrete logarithm, graph isomorphism, and the shortest vector problem. This makes it especially important in the theory of quantum computing because Shor's algorithms for factoring and finding discrete logarithms in quantum computing are instances of the hidden subgroup problem for finite abelian groups, while the other problems correspond to finite groups that are not abelian.
Problem statement Given a group G {\displaystyle G} , a subgroup H ≤ G {\displaystyle H\leq G} , and a set X {\displaystyle X} , we say a function f : G → X {\displaystyle f:G\to X} hides the subgroup H {\displaystyle H} if for all g 1 , g 2 ∈ G , f ( g 1 ) = f ( g 2 ) {\displaystyle g_{1},g_{2}\in G,f(g_{1})=f(g_{2})} if and only if g 1 H = g 2 H {\displaystyle g_{1}H=g_{2}H} . Equivalently, f {\displaystyle f} is constant on each coset of H, while it is different between the different cosets of H. Hidden subgroup problem: Let G {\displaystyle G} be a group, X {\displaystyle X} a finite set, and f : G → X {\displaystyle f:G\to X} a function that hides a subgroup H ≤ G {\displaystyle H\leq G} . The function f {\displaystyle f} is given via an oracle, which uses O ( log | G | + log | X | ) {\displaystyle O(\log |G|+\log |X|)} bits. Using information gained from evaluations of f {\displaystyle f} via its oracle, determine a generating set for H {\displaystyle H} . A special case is when X {\displaystyle X} is a group and f {\displaystyle f} is a group homomorphism in which case H {\displaystyle H} corresponds to the kernel of f {\displaystyle f} .
Motivation The hidden subgroup problem is especially important in the theory of quantum computing for the following reasons.
Shor's algorithm for factoring and for finding discrete logarithms (as well as several of its extensions) relies on the ability of quantum computers to solve the HSP for finite abelian groups. The existence of efficient quantum algorithms for HSPs for certain non-abelian groups would imply efficient quantum algorithms for two major problems: the graph isomorphism problem and certain shortest vector problems (SVPs) in lattices. More precisely, an efficient quantum algorithm for the HSP for the symmetric group would give a quantum algorithm for the graph isomorphism. An efficient quantum algorithm for the HSP for the dihedral group would give a quantum algorithm for the poly ( n ) {\displaystyle \operatorname {poly} (n)} unique SVP.
Quantum algorithms There is an efficient quantum algorithm for solving HSP over finite abelian groups in time polynomial in log | G | {\displaystyle \log |G|} . For arbitrary groups, it is known that the hidden subgroup problem is solvable using a polynomial number of evaluations of the oracle. However, the circuits that implement this may be exponential in log | G | {\displaystyle \log |G|} , making the algorithm not efficient overall; efficient algorithms must be polynomial in the number of oracle evaluations and running time. The existence of such an algorithm for arbitrary groups is open. Quantum polynomial time algorithms exist for certain subclasses of groups, such as semi-direct products of some abelian groups.
Algorithm for abelian groups The algorithm for abelian groups uses representations, i.e. homomorphisms from G {\displaystyle G} to G L k ( C ) {\displaystyle \mathrm {GL} _{k}(\mathbb {C} )} , the general linear group over the complex numbers. A representation is irreducible if it cannot be expressed as the direct product of two or more representations of G {\displaystyle G} . For an abelian group, all the irreducible representations are the characters, which are the representations of dimension one; there are no irreducible representations of larger dimension for abelian groups.
Defining the quantum fourier transform The quantum fourier transform can be defined in terms of Z N {\displaystyle \mathrm {Z} _{N}} , the additive cyclic group of order N {\displaystyle N} . Introducing the character χ j ( k ) = ω N j k = e 2 π i j k N , {\displaystyle \chi _{j}(k)=\omega _{N}^{jk}=e^{2\pi i{\frac {jk}{N}}},} the quantum fourier transform has the definition of F N | j ⟩ = 1 N ∑ k = 0 N − 1 χ j ( k ) | k ⟩ . {\displaystyle F_{N}|j\rangle ={\frac {1}{\sqrt {N}}}\sum _{k=0}^{N-1}\chi _{j}(k)|k\rangle .} Furthermore, we define | χ j ⟩ = F N | j ⟩ {\displaystyle |\chi _{j}\rangle =F_{N}|j\rangle } . Any finite abelian group can be written as the direct product of multiple cyclic groups Z N 1 × Z N 2 × … × Z N m {\displaystyle \mathrm {Z} _{N_{1}}\times \mathrm {Z} _{N_{2}}\times \ldots \times \mathrm {Z} _{N_{m}}} . On a quantum computer, this is represented as the tensor product of multiple registers of dimensions N 1 , N 2 , … , N m {\displaystyle N_{1},N_{2},\ldots ,N_{m}} respectively, and the overall quantum fourier transform is F N 1 ⊗ F N 2 ⊗ … ⊗ F N m {\displaystyle F_{N_{1}}\otimes F_{N_{2}}\otimes \ldots \otimes F_{N_{m}}} .
Procedure The set of characters of G {\displaystyle G} forms a group G ^ {\displaystyle {\widehat {G}}} called the dual group of G {\displaystyle G} . We also have a subgroup H ⊥ ≤ G ^ {\displaystyle H^{\perp }\leq {\widehat {G}}} of size | G | / | H | {\displaystyle |G|/|H|} defined by H ⊥ = { χ g : χ g ( h ) = 1 for all h ∈ H } {\displaystyle H^{\perp }=\{\chi _{g}:\chi _{g}(h)=1{\text{ for all }}h\in H\}} For each iteration of the algorithm, the quantum circuit outputs an element g ∈ G {\displaystyle g\in G} corresponding to a character χ g ∈ H ⊥ {\displaystyle \chi _{g}\in H^{\perp }} , and since χ g ( h ) = 1 {\displaystyle \chi _{g}(h)={1}} for all h ∈ H {\displaystyle h\in H} , it helps to pin down what H {\displaystyle H} is. The algorithm is as follows:
Start with the state | 0 ⟩ | 0 ⟩ {\displaystyle |0\rangle |0\rangle } , where the left register's basis states are each element of G {\displaystyle G} , and the right register's basis states are each element of X {\displaystyle X} . Create a superposition among the basis states of G {\displaystyle G} in the left register, leaving the state 1 | G | ∑ g ∈ G | g ⟩ | 0 ⟩ {\textstyle {\frac {1}{\sqrt {|G|}}}\sum _{g\in G}|g\rangle |0\rangle } . Query the function f {\displaystyle f} . The state afterwards is 1 | G | ∑ g ∈ G | g ⟩ | f ( g ) ⟩ {\textstyle {\frac {1}{\sqrt {|G|}}}\sum _{g\in G}|g\rangle |f(g)\rangle } . Measure the output register. This gives some f ( s ) {\displaystyle f(s)} for some s ∈ G {\displaystyle s\in G} , and collapses the state to 1 | H | ∑ h ∈ H | s + h ⟩ | f ( s ) ⟩ {\textstyle {\frac {1}{\sqrt {|H|}}}\sum _{h\in H}|s+h\rangle |f(s)\rangle } because f {\displaystyle f} has the same value for each element of the coset s + H {\displaystyle s+{H}} . We discard the output register to get 1 | H | ∑ h ∈ H | s + h ⟩ {\textstyle {\frac {1}{\sqrt {|H|}}}\sum _{h\in H}|s+h\rangle } . Perform the quantum fourier transform, getting the state 1 | H | ∑ h ∈ H | χ s + h ⟩ {\textstyle {\frac {1}{\sqrt {|H|}}}\sum _{h\in H}|\chi _{s+h}\rangle } . This state is equal to | H | | G | ∑ χ g ∈ H ⊥ χ g ( s ) | g ⟩ {\textstyle {\sqrt {\frac {|H|}{|G|}}}\sum _{\chi _{g}\in H^{\perp }}\chi _{g}(s)|g\rangle } , which can be measured to learn information about H {\displaystyle H} . Repeat until H {\displaystyle H} (or a generating set for H {\displaystyle H} ) is determined. The state in step 5 is equal to the state in step 6 because of the following: 1 | H | ∑ h ∈ H | χ s + h ⟩ = 1 | H | | G | ∑ h ∈ H ∑ g ∈ G χ s + h ( g ) | g ⟩ = 1 | H | | G | ∑ g ∈ G χ s ( g ) ∑ h ∈ H χ h ( g ) | g ⟩ = 1 | H | | G | ∑ g ∈ G χ g ( s ) ( ∑ h ∈ H χ g ( h ) ) | g ⟩ = | H | | G | ∑ χ g ∈ H ⊥ χ g ( s ) | g ⟩ {\displaystyle {\begin{aligned}{\frac {1}{\sqrt {|H|}}}\sum _{h\in H}|\chi _{s+h}\rangle &={\frac {1}{\sqrt {|H||G|}}}\sum _{h\in H}\sum _{g\in G}\chi _{s+h}(g)|g\rangle \\&={\frac {1}{\sqrt {|H||G|}}}\sum _{g\in G}\chi _{s}(g)\sum _{h\in H}\chi _{h}(g)|g\rangle \\&={\frac {1}{\sqrt {|H||G|}}}\sum _{g\in G}\chi _{g}(s)\left(\sum _{h\in H}\chi _{g}(h)\right)|g\rangle \\&={\sqrt {\frac {|H|}{|G|}}}\sum _{\chi _{g}\in H^{\perp }}\chi _{g}(s)|g\rangle \end{aligned}}} For the last equality, we use the following identity:
Each measurement of the final state will result in some information gained about H {\displaystyle H} since we know that χ g ( h ) = 1 {\displaystyle \chi _{g}(h)=1} for all h ∈ H {\displaystyle h\in H} . H {\displaystyle H} , or a generating set for H {\displaystyle H} , will be found after a polynomial number of measurements. The size of a generating set will be logarithmically small compared to the size of G {\displaystyle G} . Let T {\displaystyle T} denote a generating set for H {\displaystyle H} , meaning ⟨ T ⟩ = H {\displaystyle \langle T\rangle =H} . The size of the subgroup generated by T {\displaystyle T} will at least be doubled when a new element t ∉ T {\displaystyle t\notin T} is added to it, because H {\displaystyle H} and t + H {\displaystyle t+H} are disjoint and because H ∪ t + H ⊆ ⟨ { t } ∪ T ⟩ {\displaystyle H\cup t+H\subseteq \langle \{t\}\cup T\rangle } . Therefore, the size of a generating set | T | {\displaystyle |T|} satisfies | T | ≤ log | H | ≤ log | G | {\displaystyle |T|\leq \log |H|\leq \log |G|} Thus a generating set for H {\displaystyle H} will be able to be obtained in polynomial time even if G {\displaystyle G} is exponential in size.
Instances Many algorithms where quantum speedups occur in quantum computing are instances of the hidden subgroup problem. The following list outlines important instances of the HSP, and whether or not they are solvable.
See also Hidden shift problem Pontryagin duality
References
External links Richard Jozsa: Quantum factoring, discrete logarithms and the hidden subgroup problem Chris Lomont: The Hidden Subgroup Problem - Review and Open Problems Hidden subgroup problem on arxiv.org Complete implementation of Shor's algorithm for finding discrete logarithms with Classiq
