
    gd                         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dS )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 |                                t          j        t          j        gk    s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 |                                t          j        t          d          gk    s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          }||k    r|t          d          dz   k    sJ |t           k    du r|t           k    du sJ t          t          d          ddg          }t          t          d          ddgt&                    }|                    t                     t%          t           d          k    sJ |                                t%          t&          d          k    sJ |                                t          d          k    sJ |                    t                     t           k    sJ |                                t          d          k    sJ |                    t                     t           k    sJ t          t          d          ddg          }t          t          d          ddgt&                    }|                                }|t%          d|j        z  dz             k    sJ |                    t                     t%          dt           z  dz   d          k    sJ |                                t%          dt&          z  dz   d          k    sJ |                                dt          d          z  dz   k    sJ |                    t                     dt           z  dz   k    sJ |                                dt          d          z  dz   k    sJ |                    t                     dt           z  dz   k    sJ t          t          d                    }t/          t          d                    }|j        |j        cxk    r#t          d          t3          dd          fk    sn J t          t          d          d          }|j        t          d          t3          dd          t!          d          fk    sJ t          t          d          g d          }|j        t          d          t3          ddd          fk    sJ t          t          d          ddgd          }t          |          }t          |d          }||k    sJ |j        j        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 |                                t          d          k    sJ |                                dk    sJ t          d          }|j        du sJ d S )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         g/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/polys/numberfields/tests/test_numbers.pytest_AlgebraicNumberr5      s   qD1Hd1ggTG!$$$A5CA1++++++6T>>>>7???9;<5    88::!%((((??A1....!3///A5CA1++++++6T>>>>7fSkk!!!!9;<4!6#;;777A5CA1++++++6T>>>>7fSkk!!!!9;<4477B''+s2r{{::::477B''+s2r{{::::477F++/3r2;;>>>>477QC((,RUUGR0@0@@@@@477Xa^^$4559S"Q((R=P=PPPPP477QF++/31r!uu~r3J3JJJJJQ(1a..(1a..13 336#r!QxxAq>RTV:W:WX X X X 477III..2c2a55"Q%%."6M6MMMMM!444q!f==A5CA1++++++6T>>>>7???9;<5    88::!%1&&&&??A1....$!Q00A5CA1++++++6T>>>>7???9;<5    g-1v66A5CA1++++++6T>>>>7???9;<5    DGG$$(C"Q%%A,D,DDDDDDGG8$$(C"Q%%A,D,DDDDDQ  AQ  A6666QQ'''A66666666Q!Q((AQ!Q((A66a477Q;&&&&Fu!q&T!1!1!1!1Q!Q((AQ!Qq111A99Q<<4$///////99;;$q.......99;;$q''!!!!99Q<<199;;$q''!!!!99Q<<1Q!Q((AQ!Qq111A			AQquWq[!!!!!!99Q<<4!a555555599;;$qsQwt444444499;;!DGG)a-''''99Q<<1Q37""""99;;!DGG)a-''''99Q<<1Q37""""Q  AQ  A6QV5555Qq!5555555Qw///A6d1gguQ{{F7OO<<<<<Q++A6d1gguQ1~~.....Q!Q11AA)))A66667<7""""Q$q'')AaDDFAquuQw+BCCA999%%A6QV99;;$q''!!!!99;;!A!T))))))    c                  f   t          t          d          t                                                    } | 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        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        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        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 d S )	Nr   r   r   r   r      r      )
r   r	   r   to_algebraic_integerr#   r"   r!   r   r   r   )r0   s    r4   test_to_algebraic_integerr;      sF   QQ'''<<>>A91q    6T!WW5CA1++++++$q''	q)))>>@@A91r	!!!!6QtAwwY5CA1++++++Q	q)))>>@@A91r	!!!!6QtAwwY5CA1++++++Q	HQOOQ#7Q???TTVVA91r	!!!!6QtAwwY5CArBqEE*B////////r6   c                     t          t          d                                                    t          d          k    sJ t          t          t          dz  dz
  d          g d          } |                                 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          }|                                t          d           dz  t          d          t          z  dz  z
  k    sJ |                    d	          t          t          dz  t          z   dz   d
          k    sJ d S )Nr   r   r      r    )r&   r   F)radicalsr   )r   r	   r.   r   r   r   r   )zeta5_squaredzeta3_squareds     r4   test_AlgebraicNumber_to_rootrA      sC   477##++--a8888#GAqD1Ha$8$8KKKM  ""gadQTkAqD.@1.Dq.H!&L&LLLLL#GAqD1Ha$8$8KKKM  ""qtteAgQ	!&;;;;;  % 00GAqD1HqL!4L4LLLL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 9 9 9 9 9 & & & & & & = = = = = = ' ' ' ' ' ' " " " " " " + + + + + +        V* V* V*r0 0 02M M M M Mr6   