o
    æðh5  ã                   @   s€   d dl mZmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ dd„ Zdd	„ Zg d
¢Zdd„ Zdd„ Zdd„ ZdS )é    )Úis_nilpotent_numberÚis_abelian_numberÚis_cyclic_numberÚ_holder_formulaÚgroups_count)Ú	factorint)Úprime)Úraises)Ú	randprimec                  C   sh   t dƒdksJ ‚t tddƒd ƒdksJ ‚ttdd„ ƒ g d	¢} tdd
ƒD ]}t |ƒ|| v ks1J ‚q%d S )Né   Fé   é   é   Tc                   S   ó   t dƒS ©Néûÿÿÿ)r   © r   r   ú`/var/www/vscode/kcb/lib/python3.10/site-packages/sympy/combinatorics/tests/test_group_numbers.pyÚ<lambda>   ó    z*test_is_nilpotent_number.<locals>.<lambda>)1r   é   é   é   é   é   é   é	   é   é   é   é   é   é   é   é   é   é   é   é    é!   é#   é%   é)   é+   é-   é/   é1   é3   é5   é;   é=   é@   éA   éC   éE   éG   éI   éM   éO   éQ   éS   éU   éW   éY   é[   é_   éa   éc   éd   )r   r
   r	   Ú
ValueErrorÚrange)ÚA056867Únr   r   r   Útest_is_nilpotent_number	   s   ÿrK   c                  C   sž   t dƒdksJ ‚t tddƒd ƒdksJ ‚t tddƒƒdks J ‚t dƒd	ks(J ‚t d
ƒd	ks0J ‚ttdd„ ƒ g d¢} tddƒD ]}t |ƒ|| v ksLJ ‚q@d S )Nr   Tr   éÐ  r   éè  é † é<   Fé   c                   S   r   r   )r   r   r   r   r   r      r   z(test_is_abelian_number.<locals>.<lambda>)+r   r   r   r   r   r   r   r   r   r   r!   r"   r#   r$   r&   r'   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r6   r7   r8   r9   r:   r;   r<   r>   r?   r@   rA   rB   rC   rD   rE   rF   )r   r
   r	   rG   rH   )ÚA051532rJ   r   r   r   Útest_is_abelian_number   s   ÿrR   )%r   r   r   r   r   r   r   r   r!   r"   r#   r&   r'   r)   r*   r+   r,   r-   r/   r1   r2   r3   r4   r6   r7   r8   r9   r:   r;   r<   r>   r?   r@   rA   rB   rC   rD   c                  C   s†   t dƒdksJ ‚t tddƒd ƒdksJ ‚t tddƒƒdks J ‚t d	ƒdks(J ‚ttd
d„ ƒ tddƒD ]} t | ƒ| tv ks@J ‚q4d S )Nr   Tr   rL   r   FrM   rN   r   c                   S   r   r   )r   r   r   r   r   r   1   r   z'test_is_cyclic_number.<locals>.<lambda>rF   )r   r
   r	   rG   rH   ÚA003277©rJ   r   r   r   Útest_is_cyclic_number,   s   ÿrU   c                  C   sf   t ddhƒdks
J ‚t ddhƒdksJ ‚tD ]} t tt| ƒ ¡ ƒƒdks&J ‚qt h d£ƒdks1J ‚d S )Nr   r   r   r   r   >   r   r   r   r   r   )r   rS   Úsetr   ÚkeysrT   r   r   r   Útest_holder_formula7   s
   rX   c               	   C   sÈ  g d¢} t dt| ƒƒD ]}zt|ƒ| | ksJ ‚W q ty"   Y qw g d¢}t dt|ƒƒD ]}td| ƒ|| ks<J ‚q.g d¢}t dt|ƒƒD ]}td| ƒ|| ksVJ ‚qHg d¢}t dt|ƒƒD ]}td| ƒ|| kspJ ‚qbg d	¢}t dt|ƒƒD ]}td
| ƒ|| ksŠJ ‚q|g d¢}t t|ƒƒD ]}tt|d ƒd ƒ|| ks§J ‚q•g d¢}	t t|	ƒƒD ]}tt|d ƒd ƒ|	| ksÄJ ‚q²g d¢}
t t|
ƒƒD ]}tt|d ƒd
 ƒ|
| ksáJ ‚qÏd S )N)^r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   é   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r1   r   r   r   rY   r   r   r   rY   r   é   r   r   r   r   r   é4   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   é  r   r   r   r   r   r   r   é2   r   r   r   r   r   rZ   r   r[   r   r   r   r   r   r   r   r   r   é
   r   r   r   r   )r   r   r   r   rY   r1   r\   é	  iÛ  i!  l   yLZ. r   )
r   r   r   r   r   r7   éø  é^$  imM l   ¥NÙC r   )r   r   r   r   r   r;   é¬  éù…  r   )r   r   r   r   r   r>   é\  éû¹ r   )r1   r7   r;   r>   r@   rD   ée   ék   éo   é}   éƒ   é‘   é•   é›   éŸ   é­   é·   éÁ   éË   éÏ   éÙ   )r\   r`   rb   rd   i¨  iÄ  i˜  iØ  i<  iä  i¼  i|  i˜  ið  i”"  iœ*  iP3  rZ   )r_   ra   rc   re   it i=l i£T i…# isÉci‚?i³ÑÞ)rH   Úlenr   rG   r   )ÚA000001rJ   ÚA000679ÚeÚA090091ÚA090130ÚA090140ÚA232105ÚiÚA232106ÚA232107r   r   r   Útest_groups_countB   s:   ÿ"""ÿr€   N)Ú!sympy.combinatorics.group_numbersr   r   r   r   r   Úsympy.ntheory.factor_r   Úsympy.ntheory.generater   Úsympy.testing.pytestr	   Úsympyr
   rK   rR   rS   rU   rX   r€   r   r   r   r   Ú<module>   s    