
    \hT                         S SK Jr  S SKJr  S SKJrJr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  \R&                  rS rS rg	)
    )symbols)	FiniteSet)
Polyhedrontetrahedroncube
octahedrondodecahedronicosahedron
cube_faces)Permutation)PermutationGroup)raisesc                  b  ^	 [        [        S 5        [        / SQ/ SQ/5      [        / SQ/ SQ/5      [        / SQ/ SQ/5      [        / SQ/ S	QS
/S//5      [        / SQ/ SQS/S//5      [        / SQ/ SQS/S//5      [        / SQ/ SQS/S//5      [        SS
/SS/SS/SS//5      [        SS/SS/S
S/SS//5      [        S
S/SS/SS/SS//5      [        SS/SS/SS/SS
//5      [        SS/SS/SS
/SS//5      [        SS
/SS/SS/SS//5      [        / SQ5      /n [        [	        S5      5      n[
        n[        XU 5      m	T	R                  [        S6 :X  d   e[        S5       H$  nT	R                  T	R                  U   S
-  5        M&     T	R                  U:X  d   e[        SS5       H$  nT	R                  T	R                  U   S
-  5        M&     T	R                  U:X  d   eT	R                  S5        [        [        U	4S j5        T	R                  U:w  d   eT	R                  / SQ:X  d   eT	R                  / SQ/ SQ/:X  d   eT	R                  5         T	R                  U:X  d   eS n[!        ["        [$        [&        [(        [*        4SS S!5       H  u  pVpxU" XVXx5        M     g )"Nc                  >    [        [        S5      [        S/5      /S9$ )Nabr   )pgroup)r   listr        a/var/www/auris/envauris/lib/python3.13/site-packages/sympy/combinatorics/tests/test_polyhedron.py<lambda>!test_polyhedron.<locals>.<lambda>   s    z$t*QC ! #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   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   zA:H))r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   c                  <   > T R                  [        SS/5      5      $ )Nr   r   )rotater   )r   s   r   r   r   0   s    t{{;1v+>?r   )r   r   r   r   r   r   r   r   )r   r   r   r   c                    [        U R                  5      [        U R                  5      -   [        U R                  5      -
  S:X  d   eU R                  U:X  d   e[        5       nU R                   GH  nU R                  5       nUR                  n[        U5       H&  nUR                  U5        UR                  U:X  d  M&    O   [        SUR                  5        [        U5       H  nUR                  U5        UR                  [        UR                  5      5        UR                  n	UR                   V
Vs/ s H  o Vs/ s H  oU   PM	     snPM     snn
n
U R                  [        X5      R                  :X  a  M   e   GM     [        U5      U:X  d   e[!        U Vs/ s H  n[#        U5      PM     sn5      R$                  (       d   eg s  snf s  snn
f s  snf )Nr   zerror in permutation)lenfacesverticesedgessizesetr   copycornersranger!   print
array_formaddtupler   r   r   is_group)hr'   rpttargetgotpPhiticfgs               r   checktest_polyhedron.<locals>.check7   si   177|c!**o-AGG<AAAvv~~eAA))C3Z99#  
 ,all;3Zaii()II0181A&AqdA&8ww*Q"2"8"8888     3x6!!! =AQ =>GGGG '8 !>s   9	G
GG
#GG
)r      r         )r   r   r   r   r   )r@      rA   <   rB   )r   
ValueErrorr   r/   r   r   r   r&   r   r+   r!   r   r*   r-   cyclic_formresetzipr   squarer   r	   r
   )
r   r*   r$   r8   r<   r1   r'   r2   r3   r   s
            @r   test_polyhedronrH      s   
: # $<67<67<679i!qc:;9i!qc:;9i!qc:;9i!qc:;Aq6Aq6Aq6Aq6:;Aq6Aq6Aq6Aq6:;Aq6Aq6Aq6Aq6:;Aq6Aq6Aq6Aq6:;Aq6Aq6Aq6Aq6:;Aq6Aq6Aq6Aq6:;235F GEN#GEgf-D:: %8 9 9 9 9 1XDKKNA%&  <<7"""1a[DKKNA%&  <<7"""KKN
:?@<<7"""??6666l;;;;JJL<<7"""H2 !$	fj,D 	!"
 	as#!"r   c            
         SSK Jn JnJnJnJn  SSK Jn  U" 5       u
  pgpn
pnp[        U:X  d   eX:X  d   e[        U:X  d   e[        U	:X  d   e[        U
:X  d   e[        [        [        U5      5      [        [        [        U5      5      :X  d   e[        [        5      [        U5      :X  d   e[        U5      [        U5      :X  d   e[        U5      [        U5      :X  d   e[        U5      [        U5      :X  d   eg )Nr   )r   tetrahedron_facesoctahedron_facesdodecahedron_facesicosahedron_faces)_pgroup_calcs)sympy.combinatorics.polyhedronr   rJ   rK   rL   rM   rN   r   r   r	   r
   sortedmapr   )r   rJ   rK   rL   rM   rN   tetrahedron2cube2octahedron2dodecahedron2icosahedron2tetrahedron_faces2cube_faces2octahedron_faces2dodecahedron_faces2icosahedron_faces2s                   r   test_pgroupsr\   X   s    E E< 1>.\+l&7,&&&==$$$=(((,&&&#f/01VCHZ<[5\\\\*!4444"#v.?'@@@@$%0C)DDDD#$/A(BBBBr   N)sympy.core.symbolr   sympy.sets.setsr   rO   r   r   r   rG   r   r	   r
   r    sympy.combinatorics.permutationsr   sympy.combinatorics.perm_groupsr   sympy.testing.pytestr   rmulrH   r\   r   r   r   <module>rc      s=    % %   9 < 'H$VCr   