o
    FZŽhË
  ã                   @   sx   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d„ Zdd„ Zd	Zi Zer2eeeƒŽ Zd
d„ Zd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                  C   sX   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ÚorderZ	is_cyclic)ÚGÚA4© r   úT/var/www/auris/lib/python3.10/site-packages/sympy/combinatorics/tests/test_galois.pyÚtest_four_group   s   
r   c                  C   sd   t j ¡ } tdƒ}tdƒ}|  |¡sJ ‚|  |¡rJ ‚| jdks"J ‚|  ¡ s(J ‚|  ¡ dks0J ‚d S )Né   é   )	r   ZM20r   r   r   r   r   r   r   )r   ZS5ZA5r   r   r   Útest_M20   s   
r   Fc                 C   s    |   ¡ g}tr| t|  ¡ |S )N)r   ÚINCLUDE_SEARCH_REPSÚappendÚS6_randomized)ÚnameÚversr   r   r   Úget_versions_of_S6_subgroup+   s   
r   c                  C   s‚  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 ]2}| ¡ s“J ‚|jdksšJ ‚| |¡|u s£J ‚| ¡ |ks«J ‚|r´t||ƒs´J ‚|r½t||ƒr½J ‚q‹q€dS )zQ
    Test enough characteristics to distinguish all 16 transitive subgroups.
    é   FNé   é   Té   é   r
   é$   é0   é<   éH   éx   ih  iÐ  )r   r   ZC6r	   ZS3r   ZD6r   ZG18ZA4xC2ZS4mZS4pZG36mZG36pZS4xC2ZPSL2F5ZG72ZPGL2F5ÚA6ZS6r   r   r   r   r   r   )Útsr)   r   Zaltr   Zis_isomZnot_isomr   r   r   r   Útest_S6_transitive_subgroups2   s>   ð€øîr+   N)Ú__doc__Zsympy.combinatorics.galoisr   r   r   r   Z!sympy.combinatorics.homomorphismsr   Z sympy.combinatorics.named_groupsr   r   r	   r   r   r   r   Úlistr   r+   r   r   r   r   Ú<module>   s    
