+
    i                     H    ^ RI Ht ^ RIHt ^ RIHt ]P                  tR tR# )    )PermutationGroup)Permutation)uniqc                 6   . p. p^ p^ pV  FV  pVP                   p\        VP                  4      pVP                  V4       W6,          pVP                  V4       WG,          pKX  	  . p\	        V4       F&  p	VP                  \        \	        V4      4      4       K(  	  ^ p
^ p\	        \        V4      4       F  p	\	        WW),          ,           4       FY  pW	,          P                  W,
          ,          P                  pV Uu. uF  qV,           NK  	  upW,          WfW,          ,           % K[  	  WV	,          ,          p
WaV	,          ,          pK  	  \        \        V Uu. uF  p\        \        V4      4      NK  	  up4      4      p\        VRR7      # u upi u upi )a  
Returns the direct product of several groups as a permutation group.

Explanation
===========

This is implemented much like the __mul__ procedure for taking the direct
product of two permutation groups, but the idea of shifting the
generators is realized in the case of an arbitrary number of groups.
A call to DirectProduct(G1, G2, ..., Gn) is generally expected to be faster
than a call to G1*G2*...*Gn (and thus the need for this algorithm).

Examples
========

>>> from sympy.combinatorics.group_constructs import DirectProduct
>>> from sympy.combinatorics.named_groups import CyclicGroup
>>> C = CyclicGroup(4)
>>> G = DirectProduct(C, C, C)
>>> G.order()
64

See Also
========

sympy.combinatorics.perm_groups.PermutationGroup.__mul__

F)dups)
degreelen
generatorsappendrangelist
array_formr   _af_newr   )groupsdegrees
gens_counttotal_degree
total_gensgroupcurrent_degcurrent_num_gens
array_gensicurrent_genjgenxa	perm_genss   *               b/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/combinatorics/group_constructs.pyDirectProductr!      sg   : GJLJllu//0{##*+&
  J:$u\234 KK3z?#{*-$?@AI((!/:FFC*-.#Q[#. M+GJ&>? A 	!}$qz! $ TZ@Z747+Z@ABIIE22	 / As   ?FFN)sympy.combinatorics.perm_groupsr    sympy.combinatorics.permutationsr   sympy.utilities.iterablesr   r   r!        r    <module>r'      s    < 8 *


53r&   