o
    FZŽ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 ]v}| ¡ }|j}|j}|j}|j	}i }t
|j|ƒD ]\}	}
|
||	< qi| ¡ D ]N\}}|j}|dkr„|j}tƒ }|D ]}|d }	|d }|||	 |  }q‰|dkr¦|js¥J ‚qvtƒ }|D ]}|d }	|d }|||	 |  }q«||ksÄJ ‚qvqOd 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)ÚGroupsÚSÚGÚPcGroupr   r   r   r   Zfree_to_permÚsÚgÚkÚvZk_arrayZv_arrayÚlhsÚgenÚeÚrhsr   r   úW/var/www/auris/lib/python3.10/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 ]9}| ¡ }|j}|j}|jD ])}| |¡}tƒ }tt	|ƒƒD ]}|| rK||| ||   n|}q;||ksTJ ‚q+qd S )Nr   r   r	   r
   r   )
r   r   r   r   r   Ú
generatorsÚexponent_vectorr   ÚrangeÚlen)	r   r    r!   r   r   r'   Úexpr#   Úir   r   r*   Útest_exponent_vector7   s   ÿ

"ûùr2   c               	   C   sœ   t dƒ d¡t dƒ d¡tdƒtdƒtdƒtdƒt dƒt dƒg} | D ])}| ¡ }|j}t|jƒ}| |¡}g }|D ]
}| 	| 
|¡¡ q9t|ƒjsKJ ‚q"d S )Nr	   r   é   r
   r   r   )r   r   r   r   r   r   Úlistr,   Zinduced_pcgsr   r-   r   Zis_upper)r    r#   r!   r   ZgensZipcgsÚmr1   r   r   r*   Útest_induced_pcgsK   s   ÿ

ør6   N)Z sympy.combinatorics.permutationsr   Z sympy.combinatorics.named_groupsr   r   r   Zsympy.matricesr   r+   r2   r6   r   r   r   r*   Ú<module>   s    2