U
    L?h¨
  ã                   @   sH   d dl mZ d dlmZmZmZ d dlmZ dd„ Zdd„ Z	dd	„ Z
d
S )é    )ÚPermutation)ÚSymmetricGroupÚAlternatingGroupÚDihedralGroup)ÚMatrixc                  C   s˜  t dƒt dƒt dƒ d¡t dƒ d¡t dƒ d¡tdƒg} t dƒ d¡}| ¡ d }|  |¡ t d	ƒ d¡}|  |¡ t d
ƒ d¡}| ¡ d }|  |¡ | D ]ô}| ¡ }|j}|j}|j}|j	}i }t
|j|ƒD ]\}	}
|
||	< qÒ| ¡ D ]¤\}}|j}|dkr
|j}tƒ }|D ]&}|d }	|d }|||	 |  }q|dkrR|jsìt‚qìtƒ }|D ]&}|d }	|d }|||	 |  }q\||ksìt‚qìqžd S )Né   é   é	   é   é   é
   é}   é   é   éy   é   © r   é   )r   Úsylow_subgroupr   Zderived_seriesÚappendÚpolycyclic_groupÚ	collectorÚpc_presentationÚpcgsÚ
free_groupÚzipÚsymbolsÚitemsZ
array_formr   Zis_identityÚAssertionError)ÚGroupsÚSÚGÚPcGroupr   r   r   r   Zfree_to_permÚsÚgÚkÚvZk_arrayZv_arrayÚlhsÚgenÚeÚrhsr   r   úZ/var/www/html/venv/lib/python3.8/site-packages/sympy/combinatorics/tests/test_pc_groups.pyÚtest_pc_presentation   sP      ÿ






r,   c            	      C   s°   t dƒt dƒt dƒ d¡t dƒ d¡t dƒ d¡g} | D ]r}| ¡ }|j}|j}|jD ]R}| |¡}tƒ }tt	|ƒƒD ]$}|| r–||| ||   n|}qv||ksVt
‚qVq8d S )Nr   r   r	   r
   r   )r   r   r   r   r   Ú
generatorsÚexponent_vectorr   ÚrangeÚlenr   )	r   r!   r"   r   r   r(   Úexpr$   Úir   r   r+   Útest_exponent_vector7   s     ÿ

"r3   c               	   C   sœ   t dƒ d¡t dƒ d¡tdƒtdƒtdƒtdƒt dƒt dƒg} | D ]R}| ¡ }|j}t|jƒ}| |¡}g }|D ]}| 	| 
|¡¡ qrt|ƒjsDt‚qDd S )Nr	   r   é   r
   r   r   )r   r   r   r   r   r   Úlistr-   Zinduced_pcgsr   r.   r   Zis_upperr   )r!   r$   r"   r   ZgensZipcgsÚmr2   r   r   r+   Útest_induced_pcgsK   s         ÿ

r7   N)Z sympy.combinatorics.permutationsr   Z sympy.combinatorics.named_groupsr   r   r   Zsympy.matricesr   r,   r3   r7   r   r   r   r+   Ú<module>   s
   2