U
    ZÊ¹jË
  ã                   @   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rde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 t‚| jdks.t‚|  ¡ s:t‚|  ¡ dksJt‚| j	rTt‚d S )Né   )
r   ÚVÚget_perm_groupr   Úis_subgroupÚAssertionErrorÚdegreeÚis_transitiveÚorderZ	is_cyclic)ÚGÚA4© r   úd/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/combinatorics/tests/test_galois.pyÚtest_four_group   s    
r   c                  C   sd   t j ¡ } tdƒ}tdƒ}|  |¡s(t‚|  |¡r6t‚| jdksDt‚|  ¡ sPt‚|  	¡ dks`t‚d S )Né   é   )
r   ZM20r   r   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 ]v}| ¡ �s(t‚|jdk�s8t‚| |¡|k�sLt‚| ¡ |k�s^t‚|�rtt||ƒ�stt‚|�rt||ƒ�rt‚�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   r   )Útsr*   r   Zaltr   Zis_isomZnot_isomr   r   r   r   Útest_S6_transitive_subgroups2   s8    ð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   
