Ë
    7^(hÛ'  ã                   ó„   — d dl mZ d dlmZmZmZmZmZ d dlm	Z	m
Z
 d dlmZ 	 d„ Zd„ Zed„ «       Zd„ Zd	„ Zd
„ Zd„ Zd„ Zy)é    )ÚS)ÚFpGroupÚlow_index_subgroupsÚreidemeister_presentationÚ
FpSubgroupÚsimplify_presentation)Ú
free_groupÚ	FreeGroup)Úslowc                  óü  — t        d«      \  } }}t        | |dz  |dz  ||z  dz  g«      }t        |d«      }g d¢gg d¢g d¢g d¢g d	¢gg d¢g d
¢g d¢gg d¢g d¢gg}t        t	        |«      «      D ]  }||   j
                  ||   k(  rŒJ ‚ t        | |dz  |dz  ||z  dz  g«      }t        |d«      }g d¢gg d¢g d¢g d¢g d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d ¢gg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d!¢g d"¢g d¢g d#¢g d¢g d ¢gg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d!¢g d$¢g d¢g d%¢g d&¢gg d¢g d'¢g d(¢g d)¢g d*¢g d+¢g d,¢g d-¢g d.¢g d/¢g d0¢g d1¢g d2¢g d3¢gg d¢g d'¢g d(¢g d)¢g d*¢g d+¢g d,¢g d-¢g d.¢g d/¢g d0¢g d4¢g d5¢g d6¢gg d¢g d'¢g d(¢g d7¢g d8¢g d9¢g d:¢g d-¢g d.¢g d/¢g d0¢g d4¢g d5¢g d6¢gg d¢g d'¢g d(¢g d7¢g d;¢g d<¢g d=¢g d>¢g d?¢g d@¢g dA¢g dB¢g dC¢g d¢g d ¢gg d¢g d'¢g d(¢g d7¢g d;¢g dD¢g dE¢g dF¢g dG¢g	g d¢g d'¢g d(¢g d7¢g d;¢g dH¢g dI¢g d>¢g dJ¢g dK¢g dL¢g dM¢g dN¢g d3¢gg d¢g d'¢g d(¢g d7¢g d;¢g dH¢g dI¢g d>¢g dJ¢g dO¢g dP¢g dQ¢g dR¢g d3¢gg d¢g d'¢g d(¢g d7¢g d;¢g dH¢g dS¢g dT¢g dJ¢g dU¢g dV¢g dW¢g d2¢g d3¢gg d¢g d'¢g d(¢g d7¢g d;¢g dH¢g dS¢g dT¢g dJ¢g dO¢g dX¢g dQ¢g dR¢g d3¢gg d¢g d'¢g d(¢g d7¢g d;¢g dH¢g dS¢g dY¢g dZ¢g dU¢g d[¢g d\¢g d]¢g d^¢gg d¢g d_¢g d`¢g da¢g d8¢g db¢g dc¢g dd¢gg}t        t	        |«      «      D ]  }||   j
                  ||   k(  rŒJ ‚ t        | |dz  |dz  ||z  dz  g«      }t        |de|g«      }g d¢gg d¢g d¢g d¢g d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢g d¢g d¢g d¢gg d¢g d'¢g d(¢g d7¢g d;¢g dD¢g dE¢g dF¢g dG¢g	g}t        t	        |«      «      D ]  }||   j
                  ||   k(  rŒJ ‚ y )fNúx, yé   é   é   )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   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   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   )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   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   )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   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r	   r   r   ÚrangeÚlenÚtable)	ÚFÚxÚyÚfÚLÚt1ÚiÚt2Út3s	            úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/combinatorics/tests/test_fp_groups.pyÚtest_low_index_subgroupsr*      s  € Ü˜Ó �G€A€qˆ!ô 	��A�q‘D˜!˜Q™$  1¡ q¡Ð)Ó*€AÜ˜A˜qÓ!€AÚˆ.Úš¢|²\Ð
BÚš¢|Ð
4ÚšÐ
&ð
(€Bô ”3�r“7‹^ò #ˆØ�‰t�z‰z˜R ™UÓ"Ð"Ð"ð#ô 	��A�q‘D˜!˜Q™$  1¡ q¡Ð)Ó*€AÜ˜A˜rÓ"€AÚˆ.Úš,ª²lÚš,ªð6âš,ª²lÚš,ªð6âš,ª²lÚš,ª²nÚšLª/º=ÚÒ.Ò0@ðBò š,ª²lÚš,ª²nÚšNªOº]ÚÒ,Ò.>ð@ò š,ª²lÚš,ª²nÚšNªOº]ÚÒ,ð.ò š,ª²lÂLÚšLª,ºÚšNÒ,<Ò>NÚðò š,ª²lÂLÚšLª,ºÚšNÒ,<Ò>NÚðò š,ª²lÂLÚšLª,ºÚšNÒ,<Ò>NÚðò š,ª²lÂLÚšLª.º,ÚšMª?Ò<LÚÒ.ð0ò š,ª²lÂLÚšLª,ºðFâš,ª²lÂLÚšLª.º.ÚšMª>º?Úðò š,ª²lÂLÚšLª.º.ÚšNªMº?Úðò š,ª²lÂLÚšNªLº.Úš.ª.Ò:JÚðò š,ª²lÂLÚšNªLº.ÚšNªMº?Úðò š,ª²lÂLÚšNªNºNÚš.ª.º.Úðò š,ª²lÂLÚšLª,ð8ðo8
9€Bôr ”C˜“G‹nò #ˆØ�‰t�z‰z˜R ™UÓ"Ð"Ð"ð#ô 	��A�q‘D˜!˜Q™$  1¡ q¡Ð)Ó*€AÜ˜A˜r A 3Ó'€AÚˆ.Úš¢|²\Â<Úšð'âš¢|²\Â<Úšð'âš¢|²\Â<Úš¢|²\ðCð
D€Bô ”3�r“7‹^ò #ˆØ�‰t�z‰z˜R ™UÓ"Ð"Ð"ñ#ó    c                  ó  — t        d«      \  } }}t        | |dz  |dz  ||z  dz  g«      }||z  |dz  |dz  z  |z  |z  |z  g}t        ||«      }t        |«      dk(  sJ ‚|j	                  |«      }|j
                  |j                  f|k(  sJ ‚t        | |dz  |dz  ||z  dz  g«      }||z  ||dz  z  g}t        ||«      }t        |«      dk(  sJ ‚t        | |dz  |dz  z  |dz  |z  |z  |dz  z  g«      }|g}t        ||«      }t        |«      d	k(  sJ ‚t        | |dz  |dz  z  ||z  dz  ||dz  z  dz  g«      }|g}t        ||«      }t        |«      d
k(  sJ ‚t        d«      \  } }	}
}t        | |	dz  |
dz  |dz  |
|dz  z  dz  |	|
z  |z  dz  |	dz  |dz  z  dz  |
dz  |dz  z  |
dz  z  |z  |	dz  |
dz  z  |	dz  z  |
z  g«      }|	|
|dz  g}t        ||«      \  }}t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nr   r   r   r   éÿÿÿÿz7((y_1, y_2), (y_1**2, y_2**3, y_2*y_1*y_2*y_1*y_2*y_1))z7((x_0, y_0), (x_0**3, y_0**3, x_0*y_0*x_0*y_0*x_0*y_0))éýÿÿÿz((x_0,), (x_0**4,))z((x_0,), (x_0**6,))úa, b, cr   r   z
(b_1, c_3)é   )r	   r   r   ÚstrÚsubgroupÚ
generatorsÚrelatorsr   )r    r!   r"   r#   ÚHÚp1Úp2Úp3Úp4ÚaÚbÚcÚgensÚrelss                 r)   Útest_subgroup_presentationsr?   r   sš  € Ü˜Ó �G€A€qˆ!Ü��A�q‘D˜!˜Q™$  1¡ q¡Ð)Ó*€AØ	
ˆ1‰ˆa�‰e�A�r‘E‰k˜!‰m˜A‰o˜aÑÐ €AÜ	" 1 aÓ	(€BÜˆr‹7ÐOÒOÐOÐOà	�
‰
�1‹€AØ�L‰L˜!Ÿ*™*Ð%¨Ò+Ð+Ð+ä��A�q‘D˜!˜Q™$  1¡ q¡Ð)Ó*€AØ	
ˆ1‰ˆa��2‘‰gˆ€AÜ	" 1 aÓ	(€BÜˆr‹7ÐOÒOÐOÐOä��A�q‘D˜˜A™‘I˜q "™u Q™w q™y¨¨B©™Ð/Ó0€AØ	
ˆ€AÜ	" 1 aÓ	(€BÜˆr‹7Ð+Ò+Ð+Ð+ä��A�q‘D˜˜B™‘J  1¡ q¡¨1¨Q°©U©7°Q©,Ð7Ó8€AØ	
ˆ€AÜ	" 1 aÓ	(€BÜˆr‹7Ð+Ò+Ð+Ð+ô ˜IÓ&�J€A€qˆ!ˆQÜ��A�r‘E˜1˜a™4  A¡¨¨!¨Q©$©°¡{°Q°q±S¸±U¸Q±JÀÀAÁÀaÈÁdÁÈQÁÐPQÐSTÑPTÐUVÐXZÑUZÑPZÐ[\Ð^`Ñ[`ÑP`ÐabÑPbÐdeÐghÑdhÐijÐlnÑinÑdnÐopÐrtÑotÑdtÐuvÑdvÐwÓx€AØ	
ˆAˆq�!‰tˆ€AÜ*¨1¨aÓ0�J€Dˆ$Üˆt‹9˜Ò$Ð$Ð$Üˆt‹9˜Š?Ð‰?r+   c                  ó¸  — t        d«      \  } }}t        | |dz  |dz  ||z  |dz  z  |z  g«      }|j                  «       dk(  sJ ‚t        | ||z  |dz  z  |dz  z  |dz  g«      }|j                  «       t        j                  u sJ ‚t        d«      \  } }}}t        | |dz  |dz  ||z  |dz  z  |z  |dz  |dz  |dz  z  |z  |z  |dz  |dz  z  |z  |z  g«      }|j                  «       dk(  sJ ‚t        d	«      \  } }t        | g «      }|j                  «       t        j                  u sJ ‚t        t        d
«      d   g «      }|j                  «       dk(  sJ ‚y )Nr   r   r   r-   r   r/   éú   iÐ  r!   Ú r   r   )r	   r   Úorderr   ÚInfinity)r    r!   r"   r#   r:   r;   r<   s          r)   Ú
test_orderrE   —   sl  € ä˜Ó �G€A€qˆ!Ü��A�q‘D˜!˜Q™$  !¡ A r¡E¡	¨!¡Ð,Ó-€AØ�7‰7‹9˜Š>Ðˆ>ä��A�a‘C˜˜2™‘I˜a ™e‘O Q¨¡TÐ*Ó+€AØ�7‰7‹9œŸ
™
Ñ"Ð"Ð"ä˜IÓ&�J€A€qˆ!ˆQÜ��A�s‘F˜A˜q™D ! A¡# a¨¡e¡)¨A¡+¨q°!©t°Q¸±U¸1¸b¹5±[À±]À1±_ÀaÈÁeÈAÈrÉEÁkÐRSÁmÐTUÁoÐVÓW€AØ�7‰7‹9˜ÒÐÐä�c‹?�D€A€qÜ��2‹€AØ�7‰7‹9œŸ
™
Ñ"Ð"Ð"ä”
˜2“˜qÑ! 2Ó&€AØ�7‰7‹9˜Š>Ð‰>r+   c                  óô  — d„ } t        d«      \  }}}t        ||dz  |dz  ||z  |dz  z  |z  g«      }t        |||z  g«      }||z  dz  |v sJ ‚|j                  ||z  gd¬«      \  }} ||j                  «      ||dz  z  gk(  sJ ‚ | |||«       t        ||dz  |z  |z  g«      }|dz  |dz  z  |z  |v sJ ‚|dz  |dz  z  |dz  z  |vsJ ‚|j                  |dz  |z  |z  gd¬«      \  }} ||j                  d	   d
z  «      |d
z  k(  sJ ‚ | |||«       t        ||d
z  |dz  ||z  dz  g«      }||z  |dz  |dz  z  |z  |z  |z  g}|j                  |d¬«      \  }}t        ||«      } | |||«       y )Nc                 óÞ   ‡—  || j                   «      }t        ˆfd„|D «       «      sJ ‚|j                  «       sJ ‚|j                  «       j	                  «        ‰j                  «       k(  sJ ‚y )Nc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­w)N© )Ú.0Úelemr   s     €r)   ú	<genexpr>z;test_fp_subgroup.<locals>._test_subgroup.<locals>.<genexpr>®   s   øè ø€ Ò/ �4˜1”9Ñ/ùs   ƒ)r3   ÚallÚis_injectiveÚimagerC   )ÚKÚTr   Ú_genss     ` r)   Ú_test_subgroupz(test_fp_subgroup.<locals>._test_subgroup¬   sW   ø€ Ù�!—,‘,“ˆÜÓ/¨Ô/Ô/Ð/Ð/Ø�~‰~ÔÐÐØ�w‰w‹y�‰Ó  G A§G¡G£IÒ-Ð-Ñ-r+   r   r   r   r-   r.   T)Úhomomorphismr   r   r   )r	   r   r   r2   r3   )	rS   r    r!   r"   r#   r   rP   rQ   r5   s	            r)   Útest_fp_subgrouprU   «   sØ  € ò.ô
 ˜Ó �G€A€qˆ!Ü��A�q‘D˜!˜Q™$  !¡ A r¡E¡	¨!¡Ð,Ó-€AÜ�1�q˜‘s�eÓ€AØˆa‰C�"‰9˜‰>Ðˆ>Ø�:‰:�q˜‘s�e¨$ˆ:Ó/�D€A€qÙˆQ�\‰\‹?˜q  B¡™w˜iÒ'Ð'Ð'Ù�1�a˜Ôä�1�q˜"‘u˜Q‘w˜q‘y�kÓ"€AØˆb‰5��A‘‰:�a‰<˜1ÑÐÐØˆb‰5��A‘‰:�a˜‘d‰? !Ñ#Ð#Ð#Ø�:‰:�q˜"‘u˜Q‘w˜q‘y�k°ˆ:Ó5�D€A€qÙˆQ�\‰\˜!‰_˜aÑÓ  A q¡DÒ(Ð(Ð(Ù�1�a˜Ôä��A�q‘D˜!˜Q™$  1¡ q¡Ð)Ó*€AØ	
ˆ1‰ˆa�‰e�A�r‘E‰k˜!‰m˜A‰o˜aÑÐ €AØ�:‰:�a dˆ:Ó+�D€A€qÜ�1�aÓ€AÙ�1�a˜Õr+   c                  ó(  — t        d«      \  } }}t        | |dz  |dz  ||z  |dz  z  |z  g«      }|j                  «       d   }|j                  «       sJ ‚|j	                  «       |dz  gk(  sJ ‚t        | |dz  |dz  ||z  |dz  z  |z  g«      }t        ||j                  |g«      «      }||v sJ ‚|dz  |z  |z  |v sJ ‚t        | ||z  |dz  z  |dz  z  |dz  |dz  g«      }|j                  sJ ‚|j                  sJ ‚t        | |dz  |dz  ||z  dz  g«      }|j                  rJ ‚t        | |dz  |dz  ||z  dz  g«      }t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «      } |j                  «       dk(  sJ ‚y )	Nr   r   r   r-   r   r   r   r   )r	   r   Ú_to_perm_groupÚis_isomorphismÚcenterr   Únormal_closureÚ
is_abelianÚis_solvabler   Úderived_seriesÚderived_subgrouprC   )r    r!   r"   ÚGrQ   r   s         r)   Útest_permutation_methodsr`   Æ   sÊ  € Ü˜Ó �G€A€qˆ!ä��A�q‘D˜!˜Q™$  !¡ A r¡E¡	¨!¡Ð,Ó-€AØ	×ÑÓ˜1Ñ€AØ×ÑÔÐÐØ�8‰8‹:˜!˜Q™$˜ÒÐÐô 	��A�q‘D˜!˜Q™$  !¡ A r¡E¡	¨!¡Ð,Ó-€AÜ�1�a×&Ñ&¨ sÓ+Ó,€AØ�‰6€Mˆ6Øˆb‰5�‰7�1‰9˜‰>Ðˆ>ô 	��A�a‘C˜˜2™‘I˜a ™e‘O Q¨¡T¨1¨a©4Ð0Ó1€AØ�<Š<Ðˆ<Ø�=Š=Ðˆ=ô 	��A�q‘D˜!˜Q™$  1¡ q¡Ð)Ó*€AØ�}Š}ÐÐô 	��A�q‘D˜!˜Q™$  1¡ q¡Ð)Ó*€AÜˆq×ÑÓ!Ó" aÒ'Ð'Ð'Ü�1�a×(Ñ(Ó*Ó+€AØˆ1�7‰7‹9˜Š>Ð‰>r+   c            	      óø   — t        t        t        g «      g «      «      } | j                  rJ ‚| j                  rJ ‚t        d«      \  }}}t        t        ||dz  |dz  |dz  g«      «      } || j                  v sJ ‚y )Nr   r   r   r   )r   r   r
   r3   r4   r	   )r_   r    r!   r"   s       r)   Útest_simplify_presentationrb   ä   sv   € äœg¤i°£m°RÓ8Ó9€AØ�|Š|ÐÐØ�zŠzÐˆ>ô ˜Ó �G€A€qˆ!Üœg a¨!¨Q©$°°1±°a¸±dÐ);Ó<Ó=€AØ�—
‘
‰?Ð‰?r+   c                  ó,  — t        d«      \  } }}t        | ||z  |dz  |dz  z  |z  |z  |z  g«      }|j                  sJ ‚t        | ||z  ||dz  z  g«      }|j                  sJ ‚t        | |dz  |dz  ||z  |dz  z  |z  g«      }|j                  rJ ‚y )Nr   r-   r   r   )r	   r   Ú	is_cyclic©r    r!   r"   r#   s       r)   Útest_cyclicrf   ð   s­   € Ü˜Ó �G€A€qˆ!Ü��A�a‘C˜˜B™˜q "™u™ Q™ q™¨Ñ*Ð+Ó,€AØ�;Š;Ðˆ;Ü��A�a‘C˜˜1˜b™5™�>Ó"€AØ�;Š;Ðˆ;Ü��A�q‘D˜!˜Q™$  !¡ A r¡E¡	¨!¡Ð,Ó-€AØ�{Š{Ðˆ?ˆ{r+   c                  ó\  — t        d«      \  } }}t        | ||z  |dz  |dz  z  |z  |z  |z  g«      }|j                  «       g k(  sJ ‚t        | ||z  ||dz  z  g«      }|j                  «       dgk(  sJ ‚t        | |dz  |dz  ||z  |dz  z  |z  g«      }|j                  «       ddgk(  sJ ‚y )Nr   r-   r   r   )r	   r   Úabelian_invariantsre   s       r)   Útest_abelian_invariantsri   ú   sÒ   € Ü˜Ó �G€A€qˆ!Ü��A�a‘C˜˜B™˜q "™u™ Q™ q™¨Ñ*Ð+Ó,€AØ×ÑÓ! RÒ'Ð'Ð'Ü��A�a‘C˜˜1˜b™5™�>Ó"€AØ×ÑÓ! a SÒ(Ð(Ð(Ü��A�q‘D˜!˜Q™$  !¡ A r¡E¡	¨!¡Ð,Ó-€AØ×ÑÓ! a¨ VÒ+Ð+Ñ+r+   N)Úsympy.core.singletonr   Úsympy.combinatorics.fp_groupsr   r   r   r   r   Úsympy.combinatorics.free_groupsr	   r
   Úsympy.testing.pytestr   r*   r?   rE   rU   r`   rb   rf   ri   rI   r+   r)   ú<module>rn      s\   ðÝ "÷Bõ B÷ Då %ðò"U#òp"ðJ ñó ðò&ò6ò<
òó,r+   