
    sgd                         d Z ddlmZ ddl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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 Zd Zd Zy)zTests on algebraic numbers.     )Tuple)AlgebraicNumberIRational)S)Symbol)sqrt)Poly)to_number_field)DMP)QQ)CRootOf)xyc                     t         dz  dz
  t        d      }} t        |t               }|j                  t	        t        d      t        d      gt
              k(  sJ |j                  |k(  sJ |j                  J |j                  | k(  sJ |j                  sJ |j                  du sJ |j                         t        j                  t        j                  gk(  sJ |j                         t        d      t        d      gk(  sJ t        |t         d      }|j                  t	        t        d      t        d      gt
              k(  sJ |j                  |k(  sJ |j                  t!        d      k(  sJ |j                  | k(  sJ |j                  sJ |j                  du sJ t        |t         t!        d            }|j                  t	        t        d      t        d      gt
              k(  sJ |j                  |k(  sJ |j                  t!        d      k(  sJ |j                  | k(  sJ |j                  sJ |j                  du sJ t        t        d      g       j                  t	        g t
              k(  sJ t        t        d      d	      j                  t	        g t
              k(  sJ t        t        d      d
      j                  t	        g t
              k(  sJ t        t        d      dg      j                  t	        t        d      gt
              k(  sJ t        t        d      t#        dd      g      j                  t	        t        dd      gt
              k(  sJ t        t        d      ddg      j                  t	        t        d      t        d      gt
              k(  sJ t        t        d      t#        dd      t#        dd      g      j                  t	        t        dd      t        dd      gt
              k(  sJ t        t        d      g d      j                  t	        t        d      t        d      gt
              k(  sJ t        t        |t               ddg      }|j                  t	        t        d      t        d      gt
              k(  sJ |j                  |k(  sJ |j                  J |j                  | k(  sJ |j                  sJ |j                  du sJ |j                         t        j                  t        d      gk(  sJ |j                         t        d      t        d      gk(  sJ t        | |fddg      }|j                  t	        t        d      t        d      gt
              k(  sJ |j                  |k(  sJ |j                  J |j                  | k(  sJ |j                  sJ |j                  du sJ t        t%        |       |fddg      }|j                  t	        t        d      t        d      gt
              k(  sJ |j                  |k(  sJ |j                  J |j                  | k(  sJ |j                  sJ |j                  du sJ t        t        d            j                  t	        t        d      t        d      gt
              k(  sJ t        t        d             j                  t	        t        d      t        d      gt
              k(  sJ t        t        d            }t        t        d            }||k(  sJ t        t        d      t               }||k(  sJ ||k(  sJ t        t        d      ddg      }t        t        d      ddg      }||k7  r|t        d      dz   k7  sJ |t         k(  du r|t         k7  du sJ t        t        d      ddg      }t        t        d      ddgt&              }|j)                  t               t%        t         d      k(  sJ |j)                         t%        t&        d      k(  sJ |j+                         t        d      k(  sJ |j+                  t               t         k(  sJ |j+                         t        d      k(  sJ |j+                  t               t         k(  sJ t        t        d      ddg      }t        t        d      ddgt&              }|j)                         }|t%        d|j,                  z  dz         k(  sJ |j)                  t               t%        dt         z  dz   d      k(  sJ |j)                         t%        dt&        z  dz   d      k(  sJ |j+                         dt        d      z  dz   k(  sJ |j+                  t               dt         z  dz   k(  sJ |j+                         dt        d      z  dz   k(  sJ |j+                  t               dt         z  dz   k(  sJ t        t        d            }t/        t        d            }|j0                  |j0                  cxk(  rt        d      t3        dd      fk(  sJ  J t        t        d      d      }|j0                  t        d      t3        dd      t!        d      fk(  sJ t        t        d      g d      }|j0                  t        d      t3        ddd      fk(  sJ t        t        d      ddgd      }t        |      }t        |d      }||k(  sJ |j                  j4                  dk(  sJ t        t        d      t        d      z   t        d      dz  dt        d      dz  dg      }t        |g d      }|j                  |j                  k(  sJ |j7                         t        d      k(  sJ |j7                         dk(  sJ t        d      }|j8                  du sJ y )N   gen   r   Fr   )r   aliasT )r   r            	   )r   r   r      )r   r   )domainalphagammair   r   r   )r   r	   r   repr   r   rootr   minpoly	is_number
is_aliasedcoeffsr   OneZeronative_coeffsr   r   r
   r   as_polyas_exprr   r   argsr   nameto_rootis_primitive_element)r#   r"   abcps         ^/var/www/html/venv/lib/python3.12/site-packages/sympy/polys/numberfields/tests/test_numbers.pytest_AlgebraicNumberr5      s	   qD1Hd1gTG!$A55CA1++++66T>>77??99;;;<<5   88:!%%(((??A1...!3/A55CA1++++66T>>77fSk!!!99;;;<<4!6#;7A55CA1++++66T>>77fSk!!!99;;;<<447B'++s2r{:::47B'++s2r{:::47F+//3r2;>>>47QC(,,RUGR0@@@@47Xa^$4599S"Q(R=PPPP47QF+//31r!u~r3JJJJQ(1a.(1a.13363#r!QxAq>RTV:WX X X 47I.22c2a5"Q%."6MMMM!4q!f=A55CA1++++66T>>77??99;;;<<5   88:!%%1&&&??A1...$!Q0A55CA1++++66T>>77??99;;;<<5   g-1v6A55CA1++++66T>>77??99;;;<<5   DG$((C"Q%A,DDDDDG8$((C"Q%A,DDDDQ AQ A6M6QQ'A6M66M6Q!Q(AQ!Q(A6a47Q;&&&Fu!q&T!111Q!Q(AQ!Qq1A99Q<4$////99;$q....99;$q'!!!99Q<199;$q'!!!99Q<1Q!Q(AQ!Qq1A			AQquuWq[!!!!99Q<4!a555599;$qsQwt444499;!DG)a-'''99Q<1Q37"""99;!DG)a-'''99Q<1Q37"""Q AQ A66QVV5Qq!555555Qw/A66d1guQ{F7O<<<<Q+A66d1guQ1~....Q!Q1AA)A6M677<<7"""Q$q')AaDFAquQw+BCA9%A66QVV99;$q'!!!99;!A!!T)))    c                     t        t        d      t              j                         } | j                  t        dz  dz
  k(  sJ | j
                  t        d      k(  sJ | j                  t        t        d      t        d      gt              k(  sJ t        dt        d      z  t              j                         } | j                  t        dz  dz
  k(  sJ | j
                  dt        d      z  k(  sJ | j                  t        t        d      t        d      gt              k(  sJ t        t        d      dz  t              j                         } | j                  t        dz  dz
  k(  sJ | j
                  dt        d      z  k(  sJ | j                  t        t        d      t        d      gt              k(  sJ t        t        d      dz  t        dd      dgt              j                         } | j                  t        dz  dz
  k(  sJ | j
                  dt        d      z  k(  sJ | j                  t        t        dd      t        d      gt              k(  sJ y )	Nr   r   r   r   r      r      )
r   r	   r   to_algebraic_integerr#   r"   r!   r   r   r   )r0   s    r4   test_to_algebraic_integerr;      s   QQ'<<>A991q   66T!W55CA1++++$q'	q)>>@A991r	!!!66QtAwY55CA1++++Q	q)>>@A991r	!!!66QtAwY55CA1++++Q	HQOQ#7Q?TTVA991r	!!!66QtAwY55CArBqE*B////r6   c                  L   t        t        d            j                         t        d      k(  sJ t        t        t        dz  dz
  d      g d      } | j                         t        t        dz  t        dz  z   t        dz  z   t        z   dz   d      k(  sJ t        t        t        dz  dz
  d      g d      }|j                         t        d       dz  t        d      t        z  dz  z
  k(  sJ |j                  d	      t        t        dz  t        z   dz   d
      k(  sJ y )Nr   r   r      r    )r&   r   F)radicalsr   )r   r	   r.   r   r   r   r   )zeta5_squaredzeta3_squareds     r4   test_AlgebraicNumber_to_rootrA      s    47#++-a888#GAqD1Ha$8KM  "gadQTkAqD.@1.Dq.H!&LLLL#GAqD1Ha$8KM  "qteAgQ	!&;;;;  % 0GAqD1HqL!4LLLLr6   N)__doc__sympy.core.containersr   sympy.core.numbersr   r   r   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.elementary.miscellaneousr	   sympy.polys.polytoolsr
   !sympy.polys.numberfields.subfieldr   sympy.polys.polyclassesr   sympy.polys.domainsr   sympy.polys.rootoftoolsr   	sympy.abcr   r   r5   r;   rA   r   r6   r4   <module>rN      s>    " ' = = " $ 9 & = ' " + V*r02Mr6   