Ë
    7^(hä  ã                   ó„   — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZ d dlmZ d d	lmZ d
„ Zd„ Zy)é    )Úx)ÚS)ÚAlgebraicNumber)Úsqrt)ÚPolyÚcyclotomic_poly)ÚQQ)ÚDomainMatrixÚDM)Ú	round_two)Úraisesc                  óš  — t        t        d„ «       t        t        d„ «       t        d«      t        j                  dt
        «      dft        d«      t        j                  dt
        «      dft        d	z  dz
  t        d
dgddggt
        «      dft        d	z  dz
  t        d
dgdd
ggt
        «      dft        dz  t        d	z  z   d	t        z  z
  dz   t        g d¢g d¢g d¢gt
        «      j                  «       dft        dz  dt        d	z  z  z   dt        z  z
  dz   t        g d¢t
        «      j                  «       dft        dz  dt        d	z  z  z   dt        z  z   dz
  t        g d¢t
        «      j                  «       dft        dz  dt        d	z  z  z   t        z
  dz   t        g d¢t
        «      j                  «       dft        dz  dt        d	z  z  z   dt        z  z
  dz
  t        g d¢t
        «      j                  «       dft        dz  dt        d	z  z  z   dz   t        g d¢t
        «      j                  «       dft        dz  dt        d	z  z  z   dt        z  z   d
z
  t        g d¢t
        «      j                  «       dft        dz  dt        d	z  z  z   dz   t        g d¢t
        «      j                  «       dft        dz  dt        d	z  z  z   dt        z  z   dz
  t        g d¢t
        «      j                  «       dft        dz  dt        d	z  z  z   t        z
  dz   t        g d¢t
        «      j                  «       d ft        dz  dt        d	z  z  z   dt        z  z
  dz   t        g d¢t
        «      j                  «       d!ft        dz  dt        d	z  z  z   dt        z  z
  dz   t        g d"¢t
        «      j                  «       d#ft        dz  dt        d	z  z  z   dt        z  z   d
z
  t        g d$¢t
        «      j                  «       dft        dz  dt        d	z  z  z   d	t        z  z
  dz   t        g d%¢t
        «      j                  «       d&ft        dz  dt        d	z  z  z   dt        z  z
  dz   t        g d'¢t
        «      j                  «       d(ft        dz  d)t        d	z  z  z   dt        z  z   dz
  t        g d*¢t
        «      j                  «       d+ft        dz  d,t        d	z  z  z   d)t        z  z
  d-z   t        g d.¢t
        «      j                  «       d/fdt        dz  z  dt        d	z  z  z   d0t        z  z
  d1z   t        g d¢g d¢g d¢gt
        «      j                  «       dft        dd«      t        dz  z  t        dd«      t        d	z  z  z   t        d0d«      t        z  z
  t        d1d«      z   t        g d¢g d¢g d¢gt
        «      j                  «       dff} | D ]u  \  }}}t        j                  |«      }|j                  «       j                  }|j                  «       }||k(  sJ ‚|j                  «       |z  j                  «       d	z  d
k(  rŒuJ ‚ y )2Nc                  ó>   — t        t        t        dz  dz
  «      «      S )Né   é   )r   r   r   © ó    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/polys/numberfields/tests/test_basis.pyú<lambda>z test_round_two.<locals>.<lambda>   s   € œy¬¬a°1©f°q©jÓ)9Ó:€ r   c                  óP   — t        t        t        dz  t        d«      z   «      «      S )Nr   )r   r   r   r   r   r   r   r   z test_round_two.<locals>.<lambda>   s   € œy¬¬a°1©f´t¸A³wÑ.>Ó)?Ó@€ r   é   é   é}   é   é   iY¾ÿÿr   r   ©r   r   r   é   é   é   ©r   r   r   ©r   r   r   ©r   r   r   i	þÿÿ))r   ©r   r   r#   r"   ©r   r   r   i­ÿÿÿ))r   r   r   r!   r$   i”ÿÿÿ))r#   r   )r   r   r"   r$   iáÿÿÿi  ))©r   r   r%   r%   r!   r$   iyÿÿÿéQ   ))r%   )r   r   r%   r!   )r   r   r   é1   iøÿÿitÿÿÿ)))r   r   ©r   r   r(   r!   r$   iQÿÿÿ)))r   r   )r   r   )r   r   r!   r$   )r    r!   r$   i”Æÿÿ)r    )r   r#   r#   r$   i]ýÿÿé	   )r    r"   r$   i�  é   é   ))©r   r   r%   r,   r!   r$   iTëÿÿé
   é(   )r   Ú
ValueErrorr   r
   Úeyer	   r   r   Ú	transposeÚalg_field_from_polyÚmaximal_orderÚ	QQ_matrixÚdiscriminantÚinvÚdet)ÚcasesÚfÚB_expÚd_expÚKÚBÚds          r   Útest_round_twor?      s§  € ä
Œ:Ñ:Ô;Ü
Œ:Ñ@ÔAô
 
˜Ó	œ\×-Ñ-¨a´Ó4°cÐ:Ü	˜Ó	œ\×-Ñ-¨a´Ó4°fÐ=ä	
ˆa‰�!‰”R˜!˜V˜ q¨& kÐ2´BÓ7¸Ð;Ü	
ˆa‰�!‰”R˜!˜Q˜ ! Q Ð(¬"Ó-¨rÐ2ä	
ˆa‰”!�q‘&‰˜1œq™5Ñ	  1Ñ	$¤bª)²YÒ@SÐ)TÔVXÓ&Y×&cÑ&cÓ&eÐgkÐlô 
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)cÔegÓ&h×&rÑ&rÓ&tÐvyÐzä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)TÔVXÓ&Y×&cÑ&cÓ&eÐgkÐlä	
ˆA‰�”A�q‘D‘‰œ1Ñ	˜qÑ	 ¤"Ò%ZÔ\^Ó"_×"iÑ"iÓ"kÐmpÐqä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)TÔVXÓ&Y×&cÑ&cÓ&eÐgkÐlä	
ˆA‰�”A�q‘D‘‰˜1Ñ	œbÒ!QÔSUÓV×`Ñ`ÓbÐdhÐiä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)YÔ[]Ó&^×&hÑ&hÓ&jÐlnÐoä	
ˆA‰�”A�q‘D‘‰˜1Ñ	œbÒ!VÔXZÓ[×eÑeÓgÐimÐnä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)^Ô`bÓ&c×&mÑ&mÓ&oÐqsÐtä	
ˆA‰�”A�q‘D‘‰œ1Ñ	˜qÑ	 ¤"Ò%PÔRTÓ"U×"_Ñ"_Ó"aÐchÐiä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)^Ô`bÓ&c×&mÑ&mÓ&oÐquÐvä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)YÔ[]Ó&^×&hÑ&hÓ&jÐlpÐqä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)YÔ[]Ó&^×&hÑ&hÓ&jÐlnÐoä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)JÌBÓ&O×&YÑ&YÓ&[Ð]cÐdä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)TÔVXÓ&Y×&cÑ&cÓ&eÐgkÐlä	
ˆA‰�”A�q‘D‘‰˜1œq™5Ñ	  1Ñ	$¤bÒ)TÔVXÓ&Y×&cÑ&cÓ&eÐgkÐlä	
ˆA‰�”Q˜‘T‘	Ñ	˜A¤™EÑ	! BÑ	&¬Ò+[Ô]_Ó(`×(jÑ(jÓ(lÐnsÐtà	
Œ1ˆa‰4‰�!”A�q‘D‘&‰˜2¤™6Ñ	! BÑ	&¬ªI²yÒBUÐ+VÔXZÓ([×(eÑ(eÓ(gÐimÐnä	ˆAˆq‹”!�Q‘$‰œ˜A˜q›¤! Q¡$™Ñ	&¬¨B°«´1©Ñ	4´r¸"¸a³yÑ	@Ä"ÂiÒQZÒ\oÐEpÔrtÓBu×BÑBó  CBð  DHð  	Ið]/€Eð` !ò -‰ˆˆ5�%Ü×"Ñ" 1Ó%ˆØ�O‰OÓ×'Ñ'ˆØ�N‰NÓˆØ�EŠzÐˆzð —‘“˜‘×"Ñ"Ó$ aÑ'¨1Ó,Ð,Ð,ñ-r   c                  ó  — t        t        d«      d¬«      } t        j                  | «      }|j	                  «       }|j	                  d¬«      }|j	                  d¬«      }| |dg«       |t
        j                  t
        j                  g«      gk(  sJ ‚|dt
        j                  | dz  z   gk(  sJ ‚||j                  j                  dg«      |j                  j                  t
        j                  t
        j                  g«      gk(  sJ ‚y )	Nr   Úalpha)ÚaliasÚsympy)ÚfmtÚalgr   r   )	r   r   r	   Úalgebraic_fieldÚintegral_basisr   ÚHalfÚextÚfield_element)rA   ÚkÚB0ÚB1ÚB2s        r   Ú"test_AlgebraicField_integral_basisrO   L   sê   € ÜœD ›G¨7Ô3€EÜ
×Ñ˜5Ó!€AØ	
×	Ñ	Ó	€BØ	
×	Ñ	˜gÐ	Ó	&€BØ	
×	Ñ	˜eÐ	Ó	$€BØ‘!�Q�C“&™!œQŸV™V¤Q§V¡VÐ,Ó-Ð.Ò.Ð.Ð.Ø�!”Q—V‘V˜e A™gÑ%Ð&Ò&Ð&Ð&Ø�!—%‘%×%Ñ% q cÓ*Ø—%‘%×%Ñ%¤q§v¡v¬q¯v©vÐ&6Ó7ð9ò 9ð 9ñ 9r   N)Ú	sympy.abcr   Ú
sympy.corer   Úsympy.core.numbersr   Ú(sympy.functions.elementary.miscellaneousr   Úsympy.polysr   r   Úsympy.polys.domainsr	   Úsympy.polys.matricesr
   r   Úsympy.polys.numberfields.basisr   Úsympy.testing.pytestr   r?   rO   r   r   r   ú<module>rY      s+   ðÝ Ý Ý .Ý 9ß -Ý "ß 1Ý 4Ý 'ò=-ó@	9r   