
    sh5                     v    S SK JrJrJrJrJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S rS r/ SQrS	 rS
 rS rg)    )is_nilpotent_numberis_abelian_numberis_cyclic_number_holder_formulagroups_count)	factorint)prime)raises)	randprimec                      [        S5      S:X  d   e[        [        SS5      S-  5      S:X  d   e[        [        S 5        / SQn [	        SS	5       H  n[        U5      X;   :X  a  M   e   g )
N   F         Tc                      [        S5      $ N)r        ڀ/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/sympy/combinatorics/tests/test_group_numbers.py<lambda>*test_is_nilpotent_number.<locals>.<lambda>   s
    226r   )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ns     r   test_is_nilpotent_numberrN   	   sm    r"e+++yB/34<<<
:67;G 1c]"1%!,777 r   c                  R   [        S5      S:X  d   e[        [        SS5      S-  5      S:X  d   e[        [        SS5      5      S:X  d   e[        S5      S	:X  d   e[        S
5      S	:X  d   e[        [        S 5        / SQn [	        SS5       H  n[        U5      X;   :X  a  M   e   g )Nr   Tr     r     順 <   F   c                      [        S5      $ r   )r   r   r   r   r   (test_is_abelian_number.<locals>.<lambda>   s
    04r   )+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   r5   r6   r7   r9   r:   r;   r<   r=   r>   r?   rA   rB   rC   rD   rE   rF   rG   rH   rI   )r   r   r
   rJ   rK   )A051532rM   s     r   test_is_abelian_numberrX      s    Q4'''Yq$/23t;;;YtV45===R E)))R E)))
:45#G 1c] #555 r   )%r   r   r   r   r   r    r!   r"   r$   r%   r&   r)   r*   r,   r-   r.   r/   r0   r2   r4   r5   r6   r7   r9   r:   r;   r<   r=   r>   r?   rA   rB   rC   rD   rE   rF   rG   c                  2   [        S5      S:X  d   e[        [        SS5      S-  5      S:X  d   e[        [        SS5      5      S:X  d   e[        S	5      S:X  d   e[        [        S
 5        [	        SS5       H  n [        U 5      U [
        ;   :X  a  M   e   g )Nr"   Tr   rP   r   FrQ   rR   r   c                      [        S5      $ r   )r   r   r   r   r   'test_is_cyclic_number.<locals>.<lambda>1   s
    /3r   rI   )r   r   r
   rJ   rK   A003277rM   s    r   test_is_cyclic_numberr^   ,   s    B4'''Ia.12e;;;IdF34<<<A%'''
:341c]"qG|444 r   c                      [        SS15      S:X  d   e[        SS15      S:X  d   e[         H4  n [        [        [        U 5      R	                  5       5      5      S:X  a  M4   e   [        1 Sk5      S:X  d   eg )Nr   r   r   r    r   >   r   r   r   r   r   )r   r\   setr   keysr]   s    r   test_holder_formularb   7   st    Aq6"a'''Ar7#q(((s9Q<#4#4#678A===  <(B...r   c                     / SQn [        S[        U 5      5       H  n [        U5      X   :X  d   eM     / SQn[        S[        U5      5       H  n[        SU-  5      X#   :X  a  M   e   / SQn[        S[        U5      5       H  n[        SU-  5      XC   :X  a  M   e   / SQn[        S[        U5      5       H  n[        SU-  5      XS   :X  a  M   e   / S	Qn[        S[        U5      5       H  n[        S
U-  5      Xc   :X  a  M   e   / SQn[        [        U5      5       H%  n[        [	        US-   5      S-  5      Xx   :X  a  M%   e   / SQn	[        [        U	5      5       H%  n[        [	        US-   5      S-  5      X   :X  a  M%   e   / SQn
[        [        U
5      5       H%  n[        [	        US-   5      S
-  5      X   :X  a  M%   e   g ! [         a     GM  f = f)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   r4   r   r   r   rd   r   r   r   rd   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   re   r   rf   r"   r   r   r"   r   r   r   r   r   
   r   r   r   r   )r   r   r   r   rd   r4   rg   	  i  i! l   yLZ. r   )
r   r   r   r   r"   r:     ^$  imM l   NC r   )r   r   r   r   r"   r>       r   )r   r   r   r   r"   rA   \   r   )r4   r:   r>   rA   rC   rG   e   k   o   }                                    )rg   rk   rm   ro   i  i  i  i  i<  i  i  i|  i  i  i"  i*  iP3  re   )rj   rl   rn   rp   it i=l iT i# isci?i)rK   lenr   rJ   r	   )A000001rM   A000679eA090091A090130A090140A232105iA232106A232107s              r   test_groups_countr   B   s   G 1c'l#	?gj000 $ LG1c'l#AqD!WZ/// $ CG1c'l#AqD!WZ/// $ /G1c'l#AqD!WZ/// $ 0G1c'l#AqD!WZ/// $AG3w< E!A#JM*gj888 !AG3w< E!A#JM*gj888 !?G3w< E!A#JM*gj888 !?  		s   G
G G N)!sympy.combinatorics.group_numbersr   r   r   r   r   sympy.ntheory.factor_r   sympy.ntheory.generater	   sympy.testing.pytestr
   sympyr   rN   rX   r\   r^   rb   r   r   r   r   <module>r      s=   H H + ( ' 
86 5/,9r   