+
    i1                         R t ^ RIHtHtHtHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHtHtHtHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ]t R t!R t"R t#R t$R t%R t&R t'R# )z4Tests for the subfield problem and allied problems. )AlgebraicNumberIpiRational)S)exp)sqrt)MPQ)is_isomorphism_possiblefield_isomorphism_pslqfield_isomorphismprimitive_elementto_number_field)QQ)IsomorphismFailed)Poly)CRootOf)raises)xc                    aa \        \        4      o\        \        \        ^4      ,          4      o\        \        VV3R l4       \        \        ^4      4      o\        \        ^4      4      o\        \        ^4      4      p \        \        ^4      \        ^4      ,           4      p\        \        ^4      \        ^4      ,           \        ^4      ,           4      p\        SS4      ^^ .8X  g   Q h\        SS4      e   Q h\        SV 4      e   Q h\        SV4      \        ^^4      ^ \        ^	^4      ) ^ .8X  g   Q h\        SV4      \        ^^P4      ^ \        ^^4      ) ^ \        ^;^4      ^ .8X  g   Q h\        SS4      e   Q h\        SS4      ^^ .8X  g   Q h\        SV 4      e   Q h\        SV4      \        ^^4      ) ^ \        ^^4      ^ .8X  g   Q h\        SV4      \        ^R4      ) ^ \        ^CR4      ^ \        R^4      ) ^ \        R^P4      ^ .8X  g   Q h\        V S4      e   Q h\        V S4      e   Q h\        W 4      ^^ .8X  g   Q h\        W4      e   Q h\        W4      \        ^R4      ^ \        ^GR4      ) ^ \        R^4      ^ \        R^P4      ) ^ .8X  g   Q h\        VS4      e   Q h\        VS4      e   Q h\        W4      e   Q h\        W4      ^^ .8X  g   Q h\        W4      \        ^R4      ) ^ \        ^GR4      ^ \        R^4      ) ^ \        R	^P4      ^ .8X  g   Q h\        VS4      e   Q h\        VS4      e   Q h\        W 4      e   Q h\        W!4      e   Q h\        W"4      ^^ .8X  g   Q h\        ^\        ^4      ,          ^\        ^4      ,          ,           ^,
          4      p\        W24      \        ^^P4      ^ \        ^^P4      ) ^ \        R
^4      ^ \        R^4      ) R.8X  g   Q hR# )   c                     < \        S S4      # )N)r   abs   j/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/numberfields/tests/test_subfield.py<lambda>-test_field_isomorphism_pslq.<locals>.<lambda>   s    (>q!(D    Ni  i@  i)  i9  iy  i  i%  i[  i  )r   r   r   r   NotImplementedErrorr   Q)cdefr   r   s       @@r   test_field_isomorphism_pslqr&      s   A$q'	"A
 DEQ AQ AQ AQ$q')*AQ$q')DG34A!!Q'Aq6111!!Q'///!!Q'///!!Q'AaGQ1a!+DDDD!	1Ar(A!QxAb"Iq9: : : "!Q'///!!Q'Aq6111!!Q'///!!Q'Qq!WHa2q1+EEEE!!Q'Q	3. -Ab#JAc3K<Ac2J,C C C C "!Q'///!!Q'///!!'Aq6111!!'///!!'A	3-Qr3ZKAc3KQsBZK,D D D D "!Q'///!!Q'///!!'///!!'Aq6111!!'Q	3. -Ab#JAc3K<Ac2J,C C C C "!Q'///!!Q'///!!'///!!'///!!'Aq6111$q'	Ad1gI-12A!	Ar(A#r
{Aqbz1qbzk2NO O Or   c                     \        ^\        ^4      4      ^.8X  g   Q h\        \        \        ^4      ,          \        \        ^4      ,          ^,          4      ^^ .8X  g   Q h\        \        ) \        ^4      ,          \        \        ^4      ,          ^,          4      R^ .8X  g   Q h\        \        \        ^4      ,          \        ) \        ^4      ,          ^,          4      R^ .8X  g   Q h\        \        ) \        ^4      ,          \        ) \        ^4      ,          ^,          4      ^^ .8X  g   Q h\        ^\        ,          \        ^4      ,          ^,          ^\        ,          \        ^4      ,          ^,          4      \        ^^#4      ^ .8X  g   Q h\        R\        ,          \        ^4      ,          ^,          ^\        ,          \        ^4      ,          ^,          4      \        R^#4      ^ .8X  g   Q h\        ^\        ,          \        ^4      ,          ^,          R\        ,          \        ^4      ,          ^,          4      \        R^#4      ^ .8X  g   Q h\        R\        ,          \        ^4      ,          ^,          R\        ,          \        ^4      ,          ^,          4      \        ^^#4      ^ .8X  g   Q h\        ^\        ,          \        ^4      ,          ^,          ^,           ^\        ,          \        ^4      ,          ^,          4      \        ^^#4      ^.8X  g   Q h\        R\        ,          \        ^4      ,          ^,          ^,           ^\        ,          \        ^4      ,          ^,          4      \        R^#4      ^.8X  g   Q h\        ^\        ,          \        ^4      ,          ^,          ^,           R\        ,          \        ^4      ,          ^,          4      \        R^#4      ^.8X  g   Q h\        R\        ,          \        ^4      ,          ^,          ^,           R\        ,          \        ^4      ,          ^,          4      \        ^^#4      ^.8X  g   Q h\	        \        ^4      \        ^4      ,           4      p \	        \        ^4      ) \        ^4      ,           4      p\	        \        ^4      \        ^4      ,
          4      p\	        \        ^4      ) \        ^4      ,
          4      p\
        P                  \
        P                  \        R^4      \
        P                  .p\        R	^4      \
        P                  \        ^	^4      \
        P                  .p\	        \        ^4      4      p\        W`4      RJ g   Q h\        Wa4      RJ g   Q h\        Wb4      RJ g   Q h\        Wc4      RJ g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\	        \        ^4      ) 4      p\        W`4      RJ g   Q h\        Wa4      RJ g   Q h\        Wb4      RJ g   Q h\        Wc4      RJ g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\
        P                  \
        P                  \        R
^4      \
        P                  .p\        R	^4      \
        P                  \        ^^4      \
        P                  .p\	        \        ^4      4      p\        W`4      RJ g   Q h\        Wa4      RJ g   Q h\        Wb4      RJ g   Q h\        Wc4      RJ g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\	        \        ^4      ) 4      p\        W`4      RJ g   Q h\        Wa4      RJ g   Q h\        Wb4      RJ g   Q h\        Wc4      RJ g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\        ^^4      \
        P                  \        R^4      \        ^4      ) .p\        R^4      \
        P                  \        ^!^4      \        ^4      ) .p\	        ^\        ^4      ,          ^,
          4      p\        W`4      RJ g   Q h\        Wa4      RJ g   Q h\        Wb4      RJ g   Q h\        Wc4      RJ g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V8X  g   Q h\        WcRR7      V8X  g   Q h\	        ^\        ^4      ,          ^\        ^4      ,          ,           ^,           4      p\
        P                  \
        P                  \        R^4      \
        P                  .p\        R^4      \
        P                  \        ^1^4      \
        P                  .p\        ^^4      \
        P                  \        R^4      \
        P                  .p	\        R	^4      \
        P                  \        ^^4      \
        P                  .p
\        W`4      RJ g   Q h\        Wa4      RJ g   Q h\        Wb4      RJ g   Q h\        Wc4      RJ g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V	8X  g   Q h\        WcRR7      V
8X  g   Q h\        W`RR7      V8X  g   Q h\        WaRR7      V8X  g   Q h\        WbRR7      V	8X  g   Q h\        WcRR7      V
8X  g   Q h\	        \        ^4      4      p\	        \        ^4      4      p\	        \        ^4      4      p\        Wk4      RJ g   Q h\        W4      RJ g   Q h\        W4      RJ g   Q h\        \        ^4      \        ^4      RR7      e   Q h\        \        ^4      \        ^4      RR7      e   Q h\        \        ^4      \        ^4      RR7      e   Q h\        \        ^4      \        ^4      RR7      e   Q h\	        \        ^4      4      p\	        ^\        ^4      ^,          ,          4      p\        Wk4      RJ g   Q h\        Wk4      e   Q hR# )r   T)fastFNir   iii)
r   r   r   r   r   r   HalfZeror
   One)pqrs
pos_coeffs
neg_coeffsr   pos_1_coeffsneg_5_coeffspos_5_coeffsneg_1_coeffsr   r"   s                r   test_field_isomorphismr:   N   s/   QQ(QC///aQi47151a@@@aRQZ4715"a@@@aQi!DGA62q'AAAaRQZ!DGA6Aq'AAAac$q'k!mQqSa[];!RRS?TTTTRT$q'\!^QqSa[];R@PRS?TTTTac$q'k!mRT$q'\!^<"bAQST@UUUURT$q'\!^RT$q'\!^<(1b/ST@UUUU	!DGAAaCQKM+08B.DE E E
1T!WQQqSa[],08R0@"/EF F F 	!DGABqDaLN,08R0@"/EF F F
1T!WQRT$q'\!^-2:1b/20FG G G 	a47*+Aa47*+Aa47*+Aa47*+A661668B?AFF;J2q/1668Aq>166BJQ A"1(D000"1(D000"1(D000"1(D000Q-;;;Q-;;;Q-;;;Q-;;;Q.*<<<Q.*<<<Q.*<<<Q.*<<<a!A"1(D000"1(D000"1(D000"1(D000Q-;;;Q-;;;Q-;;;Q-;;;Q.*<<<Q.*<<<Q.*<<<Q.*<<<661668C#3QVV<J2q/1668B?AFFCJQ A"1(D000"1(D000"1(D000"1(D000Q-;;;Q-;;;Q-;;;Q-;;;Q.*<<<Q.*<<<Q.*<<<Q.*<<<a!A"1(D000"1(D000"1(D000"1(D000Q-;;;Q-;;;Q-;;;Q-;;;Q.*<<<Q.*<<<Q.*<<<Q.*<<<Aq>1668C+;adUCJ2q/1668B?QqTEBJ$q'	A&A"1(D000"1(D000"1(D000"1(D000Q-;;;Q-;;;Q-;;;Q-;;;Q.*<<<Q.*<<<Q.*<<<Q.*<<<$q'	Ad1gI-12AVVQVVXb!_aee<LROQVVXb!_aeeDLa^QVVXc1-=quuELROQVVXa^QUUCL"1(D000"1(D000"1(D000"1(D000Q-===Q-===Q-===Q-===Q.,>>>Q.,>>>Q.,>>>Q.,>>>Q AQ AQ A"1(D000"1(D000"1(E111T!Wd1gD9AAAT!Wd1gD9AAAT!Wd1gE:BBBT!Wd1gE:BBBQ AadQh(A"1(E111Q"***r   c            
      
   \        \        ^4      .\        4      \        ^,          ^,
          ^.38X  g   Q h\        \        ^4      \        ^4      .\        4      \        ^,          ^
\        ^,          ,          ,
          ^,           ^^.38X  g   Q h\        \        ^4      .\        RR7      \        \        ^,          ^,
          RR7      ^.38X  g   Q h\        \        ^4      \        ^4      .\        RR7      \        \        ^,          ^
\        ^,          ,          ,
          ^,           RR7      ^^.38X  g   Q h\        \        ^4      .\        RR7      \        ^,          ^,
          ^.^^ ..38X  g   Q h\        \        ^4      \        ^4      .\        RR7      \        ^,          ^
\        ^,          ,          ,
          ^,           ^^.\	        ^^4      ^ \	        ^	^4      ) ^ .\	        ^^4      ) ^ \	        ^^4      ^ ..38X  g   Q h\        \        ^4      .\        RRR7      \        \        ^,          ^,
          RR7      ^.^^ ..38X  g   Q h\        \        ^4      \        ^4      .\        RRR7      \        \        ^,          ^
\        ^,          ,          ,
          ^,           RR7      ^^.\	        ^^4      ^ \	        ^	^4      ) ^ .\	        ^^4      ) ^ \	        ^^4      ^ ..38X  g   Q h\        \        ^4      .RR7      \        \        ^,          ^,
          4      ^.38X  g   Q h\        \        R 4       \        \        R 4       \        \        ^\        ^4      ,          ^,           4      ,          \        \        R
\        ^4      ,          ^,           4      ,          r\        W\        .\        4      \        ^,          ^\        ^,          ,          ,           ^,           . RO38X  g   Q h\        \        ^4      ^ .\        4      \        ^,          ^,
          ^^ .38X  g   Q h\        ^ \        ^4      .\        4      \        ^,          ^,
          ^^.38X  g   Q h\        \        ^4      ^ .\        RR7      \        ^,          ^,
          ^^ .\        ^^4      \        ^ ^4      .. .38X  g   Q h\        ^ \        ^4      .\        RR7      \        ^,          ^,
          ^^.. \        ^^4      \        ^ ^4      ..38X  g   Q hR	# )   Tpolysr   domainex)rB   r>   c                  &    \        . \        R R7      # )FrA   r   r    r   r   r   (test_primitive_element.<locals>.<lambda>  s    0Q5Ar   c                  &    \        . \        R R7      # )TrA   rD   rE   r   r   r   rF     s    0Q4@r   Nr)   )       rI   )	r   r   r   r   r!   r   
ValueErrorr   r	   r   s     r   test_primitive_elementrK      s`   d1gY*q!tax!o===	a$q'A#$a4"QT'>A#51v">? ? ? d1gY641qQU;VYZX[:\\\\d	Gt%)-adR1Wnq.@)NQRTUPV(WX X X 	a	1#$a4!8aSAq6(";< < <d1gtAw/t<	
A1a4!	aVqAwAaG8Q&?	
1aCQr1XqB" &# 	$$ $ $ 	a	1T+/3AqD1HT/JQCSTVWRXQY.Z[ [ [d1gtAw/t4H	adR1Wnq 	.A!Aq'1qAwh	
:Awh1R8Q'9) 	** * * d1gYd3QTAX7LLLL
:AB
:@A T!DG)a-  !DDGa$8"8qaAY*q!ta1f}q/@).LLLLd1gq\1-!Q$(QF1CCCCaa\1-!Q$(QF1CCCCd1gq\161a4!8aVsSTUVxY\]^_`YaNbdfMg:hhhhaa\161a4!8aVbSVWXYZS[]`abcd]eRfMg:hhhhr   c            	         \        \        ^4      4      \        \        ^4      4      8X  g   Q h\        \        ^4      \        ^4      .4      \        \        ^4      \        ^4      ,           4      8X  g   Q h\        \        ^4      \        ^4      ,           \        P                  \        P
                  \        R^4      \        P
                  .4      p \        \        ^4      \        ^4      \        ^4      ,           4      V 8X  g   Q h\        \        ^4      \        \        ^4      \        ^4      ,           4      4      V 8X  g   Q h\        \        R 4       R# )r<   c                  >    \        \        ^4      \        ^4      4      # )r<   )r   r   rE   r   r   r   &test_to_number_field.<locals>.<lambda>$  s    od1gtAw&Gr   Nr*   )	r   r   r   r   r-   r.   r   r   r   )r   s    r   test_to_number_fieldrO     s    47#tAw'????	a$q'.tAwa/@AB B B 	Q$q')AFFAFFHROQVV+TUA47DGd1g$56!;;;47ODGd1g4E$FG1LLL
GHr   c                      \        \        ^4      \        ^4      \        ^4      ,           4      p \        \        ^4      \        ^4      \        ^4      ,           4      p\        W4      ^^ .8X  g   Q hR# )r<   N)r   r   r   r   s     r   test_issue_22561rQ   '  sS    Qa47!23AQa47!23AQ"q!f,,,r   c                  8   \        \        ^,          \        ^,          ,           \        ^,          ,           \        ,           ^,           R4      p V P                  4        \        ^\        ,          \
        ,          ^,          4      p\        W4      ^^ .8X  g   Q hR# )   Nr+   )r   r   _resetr   r   r   r   r   s     r   test_issue_22736rU   -  sb    1q!tad"Q&*B/AHHJAaCF1HAQ"q!f,,,r   c                  x   \        ^1\        ^,          ,          ^1\        ^,          ,          ,
          ^\        ,          ,           ^,
          ^4      \        ^1\        ^,          ,          ^1\        ^,          ,          ,
          ^\        ,          ,           ^,
          ^ 4      r\        W.RR7      ^ ,          P                  4       ^ ,          ^8X  g   Q h\        W.RRR7      ^ ,          P                  4       ^ ,          ^8X  g   Q h\        P
                  ! V 4      \        P
                  ! V4      r2VP                  V4      pVP                  P                  4       ^ ,          ^8X  g   Q h\        \        \        VR7      \        \        \        VR7      ,           \        ^\        ,          \        VR7      8X  g   Q hR# )1   Tr=   )r>   rB   r?   N)	r   r   r   	primitiver   algebraic_fieldunifymodr   )r   r   f1f2f3s        r   test_issue_27798r_   4  s5   2ad7R1W$r!t+a/3WR1Wr!Q$w=NQSTUQU=UXY=Y[\5]qaV403==?BaGGGaV4D9!<FFHKqPPP"B$6$6q$9	"B66a A%%%1R 41R#88D1aPR<SSSSr   N)(__doc__sympy.core.numbersr   r   r   r   sympy.core.singletonr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   sympy.external.gmpyr	   !sympy.polys.numberfields.subfieldr
   r   r   r   r   sympy.polys.domainsr   sympy.polys.polyerrorsr   sympy.polys.polytoolsr   sympy.polys.rootoftoolsr   sympy.testing.pytestr   	sympy.abcr   r!   r&   r:   rK   rO   rQ   rU   r_   rE   r   r   <module>rm      sh    : A A " 6 9 #  # 4 & + ' 1Ohe+P!iH
I--	Tr   