
    g
                         d Z ddlmZmZmZmZ ddlmZ ddlm	Z	m
Z
mZ d Zd ZdZi Zer e ee           Zd Zd	 Zd
S )z*Test groups defined by the galois module.     )S4TransitiveSubgroupsS5TransitiveSubgroupsS6TransitiveSubgroupsfind_transitive_subgroups_of_S6)is_isomorphic)SymmetricGroupAlternatingGroupCyclicGroupc                     t           j                                        } t          d          }|                     |          sJ | j        dk    sJ |                                 sJ |                                 dk    sJ | j        rJ d S )N   )	r   Vget_perm_groupr	   is_subgroupdegreeis_transitiveorder	is_cyclic)GA4s     a/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/combinatorics/tests/test_galois.pytest_four_groupr      s    ..00A	!		B==8q====??7799>>>>{    c                  T   t           j                                        } t          d          }t	          d          }|                     |          sJ |                     |          rJ | j        dk    sJ |                                 sJ |                                 dk    sJ d S )N      )	r   M20r   r   r	   r   r   r   r   )r   S5A5s      r   test_M20r      s    !0022A			B	!		B==}}R     8q====??7799??????r   Fc                 ~    |                                  g}t          r |                    t          |                     |S )N)r   INCLUDE_SEARCH_REPSappendS6_randomized)nameverss     r   get_versions_of_S6_subgroupr&   +   s:    !!"D )M$'(((Kr   c                  0   t           } t          d          }| j        ddt          d          df| j        ddt          d          df| j        ddddf| j        ddddf| j        ddddf| j	        dddt          d	          f| j
        ddt          d	          df| j        ddddf| j        dd
ddf| j        dd
ddf| j        ddddf| j        ddddf| j        ddddf| j        ddddf| j        ddddf| j        ddddffD ]\  }}}}}t)          |          D ]}|                                sJ |j        dk    sJ |                    |          |u sJ |                                |k    sJ |rt3          ||          sJ |rt3          ||          rJ dS )zQ
    Test enough characteristics to distinguish all 16 transitive subgroups.
       FN      T      r   $   0   <   H   x   ih  i  )r   r	   C6r
   S3r   D6r   G18A4xC2S4mS4pG36mG36pS4xC2PSL2F5G72PGL2F5A6S6r&   r   r   r   r   r   )tsr?   r$   altr   is_isomnot_isomr   s           r   test_S6_transitive_subgroupsrE   2   s    
B	!		B	EaQ6	Ea!2!2D9	ERt,	DRt,	ERt,	ER~a'8'89	ER!2!2D9	DRt,	ERt,	DRt,	ERt,	DRt,	ERt,	ECt,	DCt,	ECt,!0 6 6+c5'8$ -T22 	6 	6A??$$$$$8q======$$++++7799%%%% 1$Q00000 6(H55555	6%6 6r   N)__doc__sympy.combinatorics.galoisr   r   r   r   !sympy.combinatorics.homomorphismsr    sympy.combinatorics.named_groupsr   r	   r
   r   r   r!   r#   listr&   rE    r   r   <module>rL      s   0 0            < ; ; ; ; ;         
       R33TT:O5P5PQM   6  6  6  6  6r   