
    g5                     v    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 Zd Zg dZd	 Zd
 Zd Zy)    )is_nilpotent_numberis_abelian_numberis_cyclic_number_holder_formulagroups_count)	factorint)prime)raises)	randprimec                      t        d      dk(  sJ t        t        dd      dz        dk(  sJ t        t        d        g d} t	        dd	      D ]  }t        |      || v k(  rJ  y )
N   F         Tc                      t        d      S N)r        a/var/www/openai/venv/lib/python3.12/site-packages/sympy/combinatorics/tests/test_group_numbers.py<lambda>z*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_numberrM   	   so    r"e+++yB/34<<<
:67;G 1c]"1%!w,777 r   c                  B   t        d      dk(  sJ t        t        dd      dz        dk(  sJ t        t        dd            dk(  sJ t        d      d	k(  sJ t        d
      d	k(  sJ t        t        d        g d} t	        dd      D ]  }t        |      || v k(  rJ  y )Nr   Tr     r     順 <   F   c                      t        d      S r   )r   r   r   r   r   z(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.   r/   r0   r1   r2   r3   r4   r5   r6   r8   r9   r:   r;   r<   r=   r>   r@   rA   rB   rC   rD   rE   rF   rG   rH   )r   r   r
   rI   rJ   )A051532rL   s     r   test_is_abelian_numberrV      s    Q4'''Yq$/23t;;;YtV45===R E)))R E)))
:45#G 1c] #W555 r   )%r   r   r   r   r   r   r    r!   r#   r$   r%   r(   r)   r+   r,   r-   r.   r/   r1   r3   r4   r5   r6   r8   r9   r:   r;   r<   r=   r>   r@   rA   rB   rC   rD   rE   rF   c                  "   t        d      dk(  sJ t        t        dd      dz        dk(  sJ t        t        dd            dk(  sJ t        d	      dk(  sJ t        t        d
        t	        dd      D ]  } t        |       | t
        v k(  rJ  y )Nr!   Tr   rO   r   FrP   rQ   r   c                      t        d      S r   )r   r   r   r   r   z'test_is_cyclic_number.<locals>.<lambda>1   s
    /3r   rH   )r   r   r
   rI   rJ   A003277rL   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                      t        ddh      dk(  sJ t        ddh      dk(  sJ t        D ]2  } t        t        t        |       j	                                     dk(  r2J  t        h d      dk(  sJ y )Nr   r   r   r   r   >   r   r   r   r   r   )r   rY   setr   keysrZ   s    r   test_holder_formular_   7   st    Aq6"a'''Ar7#q(((s9Q<#4#4#678A===  <(B...r   c                     g d} t        dt        |             D ]  }	 t        |      | |   k(  sJ  g d}t        dt        |            D ]  }t        d|z        ||   k(  rJ  g d}t        dt        |            D ]  }t        d|z        ||   k(  rJ  g d}t        dt        |            D ]  }t        d|z        ||   k(  rJ  g d	}t        dt        |            D ]  }t        d
|z        ||   k(  rJ  g d}t        t        |            D ]$  }t        t	        |dz         dz        ||   k(  r$J  g d}	t        t        |	            D ]$  }t        t	        |dz         dz        |	|   k(  r$J  g d}
t        t        |
            D ]$  }t        t	        |dz         d
z        |
|   k(  r$J  y # t        $ r Y w xY w)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   r3   r   r   r   ra   r   r   r   ra   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   rb   r   rc   r!   r   r   r!   r   r   r   r   r   
   r   r   r   r   )r   r   r   r   ra   r3   rd   	  i  i! l   yLZ. r   )
r   r   r   r   r!   r9     ^$  imM l   NC r   )r   r   r   r   r!   r=       r   )r   r   r   r   r!   r@   \   r   )r3   r9   r=   r@   rB   rF   e   k   o   }                                    )rd   rh   rj   rl   i  i  i  i  i<  i  i  i|  i  i  i"  i*  iP3  rb   )rg   ri   rk   rm   it i=l iT i# isci?i)rJ   lenr   rI   r	   )A000001rL   A000679eA090091A090130A090140A232105iA232106A232107s              r   test_groups_countr   B   s   G 1c'l#	?gaj000 $ LG1c'l#AqD!WQZ/// $ CG1c'l#AqD!WQZ/// $ /G1c'l#AqD!WQZ/// $ 0G1c'l#AqD!WQZ/// $AG3w< E!A#JM*gaj888 !AG3w< E!A#JM*gaj888 !?G3w< E!A#JM*gaj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   rM   rV   rY   r[   r_   r   r   r   r   <module>r      s=   H H + ( ' 
86 5/,9r   