
    sh
                     B    S SK Jr  S SKJrJrJr  S SKJr  S rS r	S r
g)    )Permutation)SymmetricGroupAlternatingGroupDihedralGroup)Matrixc                  X   [        S5      [        S5      [        S5      R                  S5      [        S5      R                  S5      [        S5      R                  S5      [        S5      /n [        S5      R                  S5      nUR                  5       S   nU R	                  U5        [        S	5      R                  S5      nU R	                  U5        [        S
5      R                  S5      nUR                  5       S   nU R	                  U5        U  GH  nUR                  5       nUR                  nUR                  nUR                  nUR                  n0 n[        UR                  U5       H	  u  pXU	'   M     UR                  5        H  u  pUR                  nUS:w  a  UR                  n[        5       nU H  nUS   n	US   nXU	   U-  -  nM     US:X  a  UR                  (       d   eMe  [        5       nW H  nUS   n	US   nUX   U-  -  nM     UU:X  a  M   e   GM     g )N      	         
   }         y       r      )r   sylow_subgroupr   derived_seriesappendpolycyclic_group	collectorpc_presentationpcgs
free_groupzipsymbolsitems
array_formr   is_identity)GroupsSGPcGroupr   r   r   r   free_to_permsgkvk_arrayv_arraylhsgenerhss                      |/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/sympy/combinatorics/tests/test_pc_groups.pytest_pc_presentationr3      s
   Q!2N14E4T4TUV4W			)	)!	,nQ.?.N.Nq.QS`acSdfF 	s**1-A	1A
MM!r))!,A
MM!u,,R0A	1A
MM!$$&%%	#33||))

**D1DAO 2 $))+DAllGBw,,-CFFq/1,, 
 Bw&-CFF,/1,, 
 #::+ ,     c                     [        S5      [        S5      [        S5      R                  S5      [        S5      R                  S5      [        S5      R                  S5      /n U  H  nUR                  5       nUR                  nUR                  nUR
                   HW  nUR                  U5      n[        5       n[        [        U5      5       H  nXh   (       a  XtU   Xh   -  -  OUnM     Xu:X  a  MW   e   M     g )Nr	   r
   r   r   r   )
r   r   r   r   r   
generatorsexponent_vectorr   rangelen)	r#   r%   r&   r   r   r/   expr)   is	            r2   test_exponent_vectorr<   7   s    Q!2N14E4T4TUV4W			)	)!	,nQ.?.N.Nq.QSF $$&%%	|| <<C++C0CA3s8_),A1gsvo%Q %8O8   r4   c            
         [        S5      R                  S5      [        S5      R                  S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      /n U  H  nUR	                  5       nUR
                  n[        UR                  5      nUR                  U5      n/ nU H#  nUR                  UR                  U5      5        M%     [        U5      R                  (       a  M   e   g )Nr   r	      r   r
   r   )r   r   r   r   r   r   listr6   induced_pcgsr   r7   r   is_upper)r%   r)   r&   r   gensipcgsmr;   s           r2   test_induced_pcgsrE   K   s    			)	)!	,nR.@.O.OPQ.RTdefTg!mB'q)9>!;Ln]^N_	aA $$&%%	ALL!&&t,AHHY..q12 ay!!!!! r4   N) sympy.combinatorics.permutationsr    sympy.combinatorics.named_groupsr   r   r   sympy.matricesr   r3   r<   rE   r   r4   r2   <module>rI      s!    8 \ \ !/d("r4   