§
    OŠtjä  ã                   ó†   — 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dS )é    )Ú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
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   dt          z  z
  dz   t          g d¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   dt          z  z   dz
  t          g d¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   t          z
  dz   t          g d¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   dt          z  z
  dz
  t          g d¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   dz   t          g d¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   dt          z  z   d
z
  t          g d¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   dz   t          g d¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   dt          z  z   dz
  t          g d¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   t          z
  dz   t          g d¢t
          ¦  «                             ¦   «         d ft          dz  dt          d	z  z  z   dt          z  z
  dz   t          g d¢t
          ¦  «                             ¦   «         d!ft          dz  dt          d	z  z  z   dt          z  z
  dz   t          g d"¢t
          ¦  «                             ¦   «         d#ft          dz  dt          d	z  z  z   dt          z  z   d
z
  t          g d$¢t
          ¦  «                             ¦   «         dft          dz  dt          d	z  z  z   d	t          z  z
  dz   t          g d%¢t
          ¦  «                             ¦   «         d&ft          dz  dt          d	z  z  z   dt          z  z
  dz   t          g d'¢t
          ¦  «                             ¦   «         d(ft          dz  d)t          d	z  z  z   dt          z  z   dz
  t          g d*¢t
          ¦  «                             ¦   «         d+ft          dz  d,t          d	z  z  z   d)t          z  z
  d-z   t          g d.¢t
          ¦  «                             ¦   «         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
          ¦  «                             ¦   «         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
          ¦  «                             ¦   «         dff} | D ]�\  }}}t          j	        |¦  «        }| 
                    ¦   «         j        }|                     ¦   «         }||k    sJ ‚|                     ¦   «         |z                       ¦   «         d	z  d
k    sJ ‚Œ‚d S )2Nc                  óP   — t          t          t          dz  dz
  ¦  «        ¦  «        S )Né   é   )r   r   r   © ó    úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/numberfields/tests/test_basis.pyú<lambda>z test_round_two.<locals>.<lambda>   s   € �y­­a°1©f°q©jÑ)9Ô)9Ñ:Ô:€ r   c                  ój   — 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´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ÐAõ
 
˜Ñ	Ô	�\Ô-¨aµÑ4Ô4°cÐ:Ý	˜Ñ	Ô	�\Ô-¨aµÑ4Ô4°fÐ=å	
ˆa‰�!‰•R˜!˜V˜ q¨& kÐ2µBÑ7Ô7¸Ð;Ý	
ˆa‰�!‰•R˜!˜Q˜ ! Q Ð(­"Ñ-Ô-¨rÐ2å	
ˆa‰•!�q‘&‰˜1�q™5Ñ	  1Ñ	$¥b¨)¨)¨)°Y°Y°YÐ@SÐ@SÐ@SÐ)TÕVXÑ&YÔ&Y×&cÒ&cÑ&eÔ&eÐgkÐlõ 
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)cÐ)cÐ)cÕegÑ&hÔ&h×&rÒ&rÑ&tÔ&tÐvyÐzå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)TÐ)TÐ)TÕVXÑ&YÔ&Y×&cÒ&cÑ&eÔ&eÐgkÐlå	
ˆA‰�•A�q‘D‘‰�1Ñ	˜qÑ	 ¥"Ð%ZÐ%ZÐ%ZÕ\^Ñ"_Ô"_×"iÒ"iÑ"kÔ"kÐmpÐqå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)TÐ)TÐ)TÕVXÑ&YÔ&Y×&cÒ&cÑ&eÔ&eÐgkÐlå	
ˆA‰�•A�q‘D‘‰˜1Ñ	�bÐ!QÐ!QÐ!QÕSUÑVÔV×`Ò`ÑbÔbÐdhÐiå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)YÐ)YÐ)YÕ[]Ñ&^Ô&^×&hÒ&hÑ&jÔ&jÐlnÐoå	
ˆA‰�•A�q‘D‘‰˜1Ñ	�bÐ!VÐ!VÐ!VÕXZÑ[Ô[×eÒeÑgÔgÐimÐnå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)^Ð)^Ð)^Õ`bÑ&cÔ&c×&mÒ&mÑ&oÔ&oÐqsÐtå	
ˆA‰�•A�q‘D‘‰�1Ñ	˜qÑ	 ¥"Ð%PÐ%PÐ%PÕRTÑ"UÔ"U×"_Ò"_Ñ"aÔ"aÐchÐiå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)^Ð)^Ð)^Õ`bÑ&cÔ&c×&mÒ&mÑ&oÔ&oÐquÐvå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)YÐ)YÐ)YÕ[]Ñ&^Ô&^×&hÒ&hÑ&jÔ&jÐlpÐqå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)YÐ)YÐ)YÕ[]Ñ&^Ô&^×&hÒ&hÑ&jÔ&jÐlnÐoå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)JÐ)JÐ)JÍBÑ&OÔ&O×&YÒ&YÑ&[Ô&[Ð]cÐdå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)TÐ)TÐ)TÕVXÑ&YÔ&Y×&cÒ&cÑ&eÔ&eÐgkÐlå	
ˆA‰�•A�q‘D‘‰˜1�q™5Ñ	  1Ñ	$¥bÐ)TÐ)TÐ)TÕVXÑ&YÔ&Y×&cÒ&cÑ&eÔ&eÐgkÐlå	
ˆA‰�•Q˜‘T‘	Ñ	˜A¥™EÑ	! BÑ	&­Ð+[Ð+[Ð+[Õ]_Ñ(`Ô(`×(jÒ(jÑ(lÔ(lÐnsÐtà	
�1ˆa‰4‰�!•A�q‘D‘&‰˜2¥™6Ñ	! BÑ	&­¨I¨I¨I°y°y°yÐBUÐBUÐBUÐ+VÕXZÑ([Ô([×(eÒ(eÑ(gÔ(gÐimÐnå	ˆAˆq‰Œ•!�Q‘$‰�˜A˜q™œ¥! Q¡$™Ñ	&­¨B°©¬µ1©Ñ	4µr¸"¸a±y´yÑ	@Å"ÀiÀiÀiÐQZÐQZÐQZÐ\oÐ\oÐ\oÐEpÕrtÑBuÔBu×BÒBñ  CBô  CBð  DHð  	Ið]/€Eð` !ð -ð -‰ˆˆ5�%ÝÔ" 1Ñ%Ô%ˆØ�OŠOÑÔÔ'ˆØ�NŠNÑÔˆØ�EŠzˆzˆzˆzð —’‘”˜‘×"Ò"Ñ$Ô$ aÑ'¨1Ò,Ð,Ð,Ð,Ð,ð-ð -r   c                  ó&  — t          t          d¦  «        d¬¦  «        } t          j        | ¦  «        }|                     ¦   «         }|                     d¬¦  «        }|                     d¬¦  «        }| |dg¦  «         |t
          j        t
          j        g¦  «        gk    sJ ‚|dt
          j        | dz  z   gk    sJ ‚||j                             dg¦  «        |j                             t
          j        t
          j        g¦  «        gk    sJ ‚d S )	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œG¨7Ð3Ñ3Ô3€EÝ
Ô˜5Ñ!Ô!€AØ	
×	Ò	Ñ	Ô	€BØ	
×	Ò	˜gÐ	Ñ	&Ô	&€BØ	
×	Ò	˜eÐ	Ñ	$Ô	$€BØ�!�!�Q�C‘&”&˜!˜!�QœV¥Q¤VÐ,Ñ-Ô-Ð.Ò.Ð.Ð.Ð.Ø�!•Q”V˜e A™gÑ%Ð&Ò&Ð&Ð&Ð&Ø�!”%×%Ò% q cÑ*Ô*Ø”%×%Ò%¥q¤v­q¬vÐ&6Ñ7Ô7ð9ò 9ð 9ð 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Ð 9Ð 9Ð 9Ð 9Ð 9Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø "Ð "Ð "Ð "Ð "Ð "Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð=-ð =-ð =-ð@	9ð 	9ð 	9ð 	9ð 	9r   