
    g
                     B    d dl mZ d dlmZmZmZ d dlmZ d Zd Z	d Z
y)    )Permutation)SymmetricGroupAlternatingGroupDihedralGroup)Matrixc                  <   t        d      t        d      t        d      j                  d      t        d      j                  d      t        d      j                  d      t        d      g} t        d      j                  d      }|j                         d   }| j	                  |       t        d	      j                  d      }| j	                  |       t        d
      j                  d      }|j                         d   }| j	                  |       | D ]  }|j                         }|j                  }|j                  }|j                  }|j                  }i }t        |j                  |      D ]
  \  }	}
|
||	<    |j                         D ]  \  }}|j                  }|dk7  r|j                  }t               }|D ]  }|d   }	|d   }|||	   |z  z  } |dk(  r|j                  sJ ]t               }D ]  }|d   }	|d   }|||	   |z  z  } ||k(  rJ   y )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                      ]/var/www/openai/venv/lib/python3.12/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1DAqLO 2 $))+DAqllGBw,,-CFF,q/1,, 
 Bw&-CFF,q/1,, 
 #::+ ,     c                     t        d      t        d      t        d      j                  d      t        d      j                  d      t        d      j                  d      g} | D ]  }|j                         }|j                  }|j                  }|j
                  D ]R  }|j                  |      }t               }t        t        |            D ]  }||   r|||   ||   z  z  n|} ||k(  rRJ   y )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_),QAd1gs1vo%Q %8O8   r4   c            
         t        d      j                  d      t        d      j                  d      t        d      t        d      t        d      t        d      t        d      t        d      g} | D ]  }|j	                         }|j
                  }t        |j                        }|j                  |      }g }|D ]"  }|j                  |j                  |             $ t        |      j                  rJ  y )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   