
    \hKZ                        S r SSKJr  SSKJrJr  SSKJrJrJ	r	J
r
Jr  SSKJr  SSKJr  SSKJr  SSKJrJr  SS	KJrJrJr  SS
KJr  SSKJr  SSKJr  SSKJ r   SSK!J"r"J#r#  SSK$J%r%J&r&  SSK'J(r(  SSK)J*r*  SSK+J,r,J-r-J.r.J/r/J0r0  SSK1J2r2  SSK3J4r4J5r5  SSK6J7r7  SSKJ8r8  SSKJ9r9  SSK:J;r;J<r<J=r=  \	r>S r?S r@S rAS rBS rCS rDS rES  rFS! rGS" rHS# rIS$ rJ\&S% 5       rKS& rLS' rMS( rNS) rOS* rPS+ rQS, rRS- rSS. rTS/ rUS0 rVg1)2zTests for minimal polynomials.     )expand)GoldenRatioTribonacciConstant)AlgebraicNumberIRationaloopi)Pow)S)exp)cbrtsqrt)cossintan)	nextprime)Poly)CRootOf)nonlinsolve)Circleintersection)raisesslow)	FiniteSet)Point2D)minimal_polynomial_choose_factor_minpoly_op_algebraic_element_separate_sq_minpoly_groebner)apart)NotAlgebraicGeneratorsError)QQ)rootof)degree)xyzc                      [        S[        5      [        S-   :X  d   e[        S[        5      [        S-   :X  d   e[        S[        5      [        :X  d   e[        S[        5      [        S-
  :X  d   e[        S[        5      [        S-
  :X  d   e[        [        S5      [        5      [        S-  S-
  :X  d   e[        [        S5      [        5      [        S-  S-
  :X  d   e[        [        S5      [        5      [        S-  S-
  :X  d   e[        S[        S5      -  [        5      [        S-  S	-
  :X  d   e[        S
[        S5      -  [        5      [        S-  S-
  :X  d   e[        S[        S5      -  [        5      [        S-  S-
  :X  d   e[        S[        S5      -  S
-   [        5      [        S-  S[        -  -
  S-   :X  d   e[        S
[        S5      -  S-   [        5      [        S-  S[        -  -
  S-
  :X  d   e[        S[        S5      -  S-   [        5      [        S-  S[        -  -
  S-
  :X  d   e[        S[        S5      -  S
-
  [        5      [        S-  S[        -  -   S-   :X  d   e[        S
[        S5      -  S-
  [        5      [        S-  S[        -  -   S-
  :X  d   e[        S[        S5      -  S-
  [        5      [        S-  S[        -  -   S-
  :X  d   e[        [        S[        S5      -   5      [        5      [        S-  S[        S-  -  -
  S-
  :X  d   e[        [        [        [        S5      -   5      [        5      [        S	-  S[        S-  -  -
  S-   :X  d   e[        S[        -  [        S[        -   5      -   [        5      [        S-  S[        S-  -  -   S	[        -  -   S-   :X  d   e[        [        S5      [        S
5      -   [        5      [        S-  S[        S-  -  -
  S-   :X  d   e[        [        S5      [        S
5      -   [        S5      -   [        5      [        S-  S[        S-  -  -
  S[        -  -
  S-
  :X  d   eSS[        S5      -  -
  S[        S
5      -  -   n [        SU -  [        5      S[        S-  -  S[        S
-  -  -
  S[        S-  -  -   S[        -  -   S-
  :X  d   e[        S[        U 5      -  [        5      S[        S	-  -  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -   S-
  :X  d   e[	        [
        S 5        [	        [
        S 5        [	        [
        S 5        [        [        S5      5      R                  [        S-  S-
  5      (       d   e[        [        S5      [        5      [        S-  S-
  :X  d   e[        [        S5      SS9[        [        S-  S-
  5      :X  d   e[        [        S5      [        SS9[        [        S-  S-
  S S!9:X  d   e[        [        S5      [        SS"S#9[        [        S-  S-
  S S!9:X  d   e[        [        S5      5      n [        [        S
5      5      n[        U [        5      [        S-  S-
  :X  d   e[        U[        5      [        S-  S
-
  :X  d   e[        U [        SS9[        [        S-  S-
  S S!9:X  d   e[        U[        SS9[        [        S-  S
-
  S S!9:X  d   e[        [        U S-  S$-   5      [        5      S[        S-  -  S%[        S-  -  -
  S&-   :X  d   e[        [        US-  S$-   5      [        5      S[        S-  -  S'[        S-  -  -
  S(-   :X  d   e[        S5      S
-  S-   [        [        S5      S
-  S-   5      pS)[        S	-  -  S*[        S-  -  -
  S+[        S-  -  -
  S,[        S-  -  -   S-[        S
-  -  -   S.[        S-  -  -
  S/[        -  -
  S0-   n[        [        U 5      [        [        U 5      5      -   [        5      U:X  d   e[        [        U5      [        [        U5      5      -   [        5      U:X  d   e[        U [        S
S5      -  [        5      S1[        S-  -  S2[        S-  -  -
  S3-   :X  d   e[        S45      n[        U[        5      S5[        S-  -  S-
  :X  d   e[        S5      [        [        5      -  S[        SS6[        -  -   5      -  -  S7[        S5      -  [        [        SS5      -  SS6[        -  -   [        S
S5      -  -  -  -   S8[        S5      -  [        [        S9S5      -  SS6[        -  -   [        S
S5      -  -  -  -   S[        -  [        S[        S6-  -
  5      -  -   n[        U[        5      nUS7[        S-  -  S:[        S-  -  -   S;-   :X  d   eS[        S5      -   [        S
5      -   n[        U[        5      nU[        S-  S[        S
-  -  -
  S[        S-  -  -
  S<[        -  -   S	-
  :X  d   eSS[        S5      -   [        S
5      -   -  n[        U[        5      nUS	[        S-  -  S<[        S
-  -  -
  S[        S-  -  -   S[        -  -   S-
  :X  d   e[        S[        S5      -   S[        S
5      -  -
  [        S5      -   S
-  5      [        SS
5      -  n[        U[        5      nU[        S	-  S	[        S-  -  -
  S=[        S-  -  -
  S>[        S-  -  -   S?[        S-  -  -   S@[        S
-  -  -
  SA[        S-  -  -   SB[        -  -   SC-
  :X  d   e[        S[        S5      -   S[        S
5      -  -
  [        S5      -   S
-  5      n[        U[        5      nU[        S	-  SD[        S-  -  -
  SE[        S-  -  -
  SF[        S-  -  -   SG[        S-  -  -   SH[        S
-  -  -
  SI[        S-  -  -   SJ[        -  -   SK-
  :X  d   e[        [        SL5      [        5      [        S-
  :X  d   eS[        S5      -   n [        U [        S5      -  U -   S
-  [        5      [        S-  SM[        -  -
  S-   :X  d   eSS[        S5      -   [        S
5      -   -  n[        U[        S"SN9S	[        S-  -  S<[        S
-  -  -
  S[        S-  -  -   S[        -  -   S-
  :X  d   eSS[        S5      -   [        S
5      -   -  n[        U[        S"SN9[        S-  S[        S
-  -  -
  S[        S-  -  -   S[        -  -   S-
  :X  d   e[        S[        S5      [        -  -   [        S"SN9[        S-  S[        -  -
  S
-   :X  d   e[        SS[        S5      -   -  S-   [        S"SN9[        S-  S-
  :X  d   e[        [        S5      [        -  [        S[        S5      -   -  -   [        S"SN9[        S-  SO[        S-  -  -   S-   :X  d   e[        [        [        [        R                  " [        5      S!9[        [        -
  :X  d   e[        R                  " [        [        S5      S-   -  5      n[        [        [        US!9[        [        -
  :X  d   e[        [        [        [        S!9[        S-  S-   :X  d   e[        [        [        SPS!9[        S-  S-   :X  d   e[        [        [        5      [        S-  [        -
  S-
  :X  d   e[        [         S
-   [        5      [        S
-  S[        S-  -  -
  SQ[        -  -   SR-
  :X  d   e[        [        [        [        R                  " [        S5      5      S!9S[        -  [        S5      -
  S-
  :X  d   e[        [         [        [        R                  " [#        SSS
[        ST5      -  -
  5      5      S!9S[        -  SSSSS
[        ST5      -  -
  [        SS
5      -  -  -
  S
[        ST5      -  SSS
[        ST5      -  -
  [        SS
5      -  -  -
  S<SSS
[        ST5      -  -
  [        SS
5      -  -  -
  S<-
  :X  d   e[        [        R                  R                  SSU9SVSW9n[        U[        5      [        S-  [        -
  S-
  :X  d   eg )XNi      r                  -      `      	      /   
   1   %      0      i    id  c                  *    [        [        [        5      $ N)r   r	   r(        c/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/numberfields/tests/test_minpoly.py<lambda>)test_minimal_polynomial.<locals>.<lambda>P   s    !3B!:rE   c                  0    [        S[        -  [        5      $ Nr/   )r   r)   r(   rD   rE   rF   rG   rH   Q   s    !3AqD!!<rE   c                  4    [        [        S5      [        5      $ )Nr.   )r   r   r(   rD   rE   rF   rG   rH   R   s    !3CFA!>rE   Tpolysr%   domainF)rM   compose   D   iA     i  Q   i  i  itX  i  ix{  i i.( i  i ig

        -1/(800*sqrt(-1/240 + 1/(18000*(-1/17280000 +
        sqrt(15)*I/28800000)**(1/3)) + 2*(-1/17280000 +
        sqrt(15)*I/28800000)**(1/3)))@  }      i5     i  i    8                i   i i i &l    @4 l     zl l     xyl     x, z(-sqrt(5)/2 - 1/2 + (-sqrt(5)/2 - 1/2)**2   rP      zQQ(y)    "      !   )funcphi)alias)r   r(   r   r   r   r#   dummy_eqr   r   Qr   r   r   r%   algebraic_fieldr   r   r   )	abfeqexmppKrj   s	            rF   test_minimal_polynomialrw   )   s!   b!$A---b!$A---q!$)))q!$A---q!$A---d1gq)QTAX555d1gq)QTAX555d1gq)QTAX555aQi+q!tax777aQi+q!tby888aQi+q!tby888aQi!mQ/1a4!A#:>AAAaQi!mQ/1a4"Q$;?BBBaQi!mQ/1a4"Q$;3CCCCaQi!mQ/1a4!A#:>AAAaQi!mQ/1a4"Q$;?BBBaQi!mQ/1a4"Q$;3CCCCd1tAw;/3q!ta1f}q7HHHHd1tAw;/3q!tbAg~7JJJJacDQK/3q!ta1f}qs7JR7OOOOd1gQ/3q!tbAg~7IIIIQ$q'DG#Q(+,a4"QT'>BqD+@2+EF F F 	
Ad1gI$q'	!A	!Qq!t8d1a4i'#ad(2QqS81<= = =	$q'	1QTDAI-AqD81QT6AAEF F F <:;
<<=
<>?d1g&//1q9999d1gq)QTAX555d1gT2d1a4!8nDDDd1gq5adQht9TTTTd1gqeDQPQTTUX^bHccccQ AQ Aa#q!tax///a#q!tax///a$/41q3NNNNa$/41q3NNNNd1Q38na0AadFR1W4Ds4JJJJd1Q38na0AadFSAX4E4LLLL719q=/$q'!)a-8q
1a4$q!t)d1a4i'%1*4uQTzAad
	AX	 &	'A d1gT!W5q9Q>>>d1gT!W5q9Q>>>	1Q7
Aad(VAqD[08;< < < 
 ) 
*B b!$QT	A555
q'$q'/1T!c!e)_,
-aj!QqV)QQY1Q$778947lAqAwJCE	AaF'::;< c$q1S5y/!"B 
B	"BAqD419$v----	
T!WtAw	B	B	"BA!Q$1a4'"Q$.2222	
AQK$q'!	"B	B	"B1a4"QT'!AadF*QqS014444	T!Wqay(472Q6	7(1a.HA	Aq	!BA!Q$AqD(3q!t83c!Q$h>adJTRSUVRVYVY]^_Y__bfffffDGaQi'$q'1A56A	Aq	!BAAqD6!Q$;.!Q$>1a4OR]^_ab^bRbbeqrsuvrvevv  zF  GH  zH  H  KV  V  V  V  Va JKQOSTWXSXXXX	DGAqay1}q0!41s1uq8HHHH	1tAw;a !AaE2a1fr!Q$w6F1a46ORSTURU6UXY6YYYY	1tAw;a !AaE2adQq!tVma1f6LqQRs6RUV6VVVVa$q'!)mQ>!Q$1*q.PPPaT!Wo11eD1qPPPd1gai!Qa[/91 !tbAg~23 3 3 a2+=+=a+@AQUJJJ
1d1gk?+Aa1-Q666a2.!Q$(:::a73q!tax??? k1-AA===014a8AqD2ad7NRPQT<QTV<VVVVk1R5G5GQ5PQaC$q'MA  0!B<N<NtTVYZ[_`b[cYcTcOd<efqD2rAd2hJ!Q///!DH*b1T"X:oPXYZ\]P^=^2^^"qbz/HQN	**+-/00 0 0 !--..D.9
GCc1%AA555rE   c                  @   [        S5      n [        U 5      n[        U S-  U-  5      R                  (       d   e[        U S-  U-  5      U [        U5      -  -
  n[        U[        5      [        :X  d   e[        [        S5      U-
  [        5      [        S-  S-
  :X  d   eg )Nl     _r/   )r   r   is_Powr   r(   )p1p2zeros      rF   test_issue_26903r}      s    	6	B	2BAb>    Ab>BtBxK'DdA&!+++d1gna0AqD1H<<<rE   c                      [        [        S[        -  [        -  SS9[        5      [        S-   :X  d   e[        [        S[        S5      S-  SS9[        5      [        S-
  :X  d   eg )Nr3   Fevaluater.   r2   r/   )r   r   r   r
   r(   r   r   rD   rE   rF   test_issue_8353r      s]    c!A#b&591=QFFFc!QqT!Ve<a 
U  rE   c                  
   SS[        S5      -  [        [        S5      S-  S[        S5      -  S-  -
  5      -  S[        [        S5      S-  S[        S5      -  S-  -
  5      -  -   -  SS	[        S5      -  [        [        S5      S-  S[        S5      -  S-  -
  5      -  S
[        [        S5      S-  S[        S5      -  S-  -
  5      -  -   -  -
  n S[        S-  -  S[        S-  -  -
  S-   n[        U [        5      U:X  d   eg )NloyDCG,-e``eC2#<N>}L{/,rNELACQ,l}Y l   HA;NjCxQ] dv>Ai}|944)$R{QqUe_}l   A> l   (r[+iYi|tl      @_CIc6',fk,S?	`@54=?y.W6+u*eXpgM$YP`5@ l   S>BBnc&Kv~U;N	w#A 
9GpS4y<MG l   pAP.Zs;>N'CGHEK=3BS 4dpU=<l     @Fx6VTxV9_6-I"[!<mEexxP[30lQ              Me3cxiL>T#B!,(^;3&Z	VjcSp![. %4@']YNE%$%88qbr|im+8;>W$;$f.33$[Sv!7wx*)*L5Y7FpIX
jLjZwlhx| r5   lb        6
 B]Fq16+I;6W!g[	O"Ov])zsnre);.sH ?OPX:LSO3I^&'PkDDn"H+
QSiVn?v>A"T#.\GgKL}Wcu~frQ[!.K<8`=J+?kxy,yhZ9r-*r/   ld   >C=cJ#m5#P<!VE7|o>jkoQ&M ; 1 [aew' rB_nJ\xIwz7)5MZ1=A=03&aCW>i&XHK2oa#yA59&J5	];u_oj#F[Fy;C	VJ>.:'E3dyZod[t>wo H$@F y#gX3V:3 )r   r   r(   r   )exprpolys     rF   #test_minimal_polynomial_issue_19732r      s    a  ck  lp  q}  l~  c~  C  DE  FT  DU  V^  D^tL!!(*D+ , c, R  SW  XY  Zh  Xi  jr  Xr
4%
%h
.X/ S0 0c0 1 }  k  lp  q}  l~  ~  C  DE  FT  DU  V^  D^
4%
%h
.D/ 0 0yz~  @A  BP  @Q  RZ  @ZtL))(2@3 {4 	44 5	5D y  z{  }~  z~  ~ I  JK  MN  JN  NN QQD dA&$...rE   c                      S[        SS[        S5      -  -
  S[        S5      -  -   [        SS5      S-  -   5      -  n [        U [        5      nUR	                  [        S-  5      S	:X  d   eg )
Nr.   r8   r/   r,   r3   r;      r1   l    \!b1")XQ+z>pH.g>tJ4"*v ~b]fit )r   r   r   r(   coeff)ru   rt   s     rF   test_minimal_polynomial_hi_precr      sm    	$q1T!W9}qay(8Ar?B+>>
??A	Aq	!B88AqD>  [  [  [  [rE   c                  <   SSK Jn   SSKJn  U" SS[	        S5      -  -   S[	        S5      -  -   S-  5      n[        U[        SS5      -  [        5      nU[        S-  S[        S-  -  -
  S	[        S-  -  -
  S
[        -  -   S-   :X  d   eU" S[	        S5      -   S[	        S5      -  -
  [	        S5      -   S-  5      n[        U[        SS5      -  [        5      nU[        S-  S[        S-  -  -
  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -   S[        S-  -  -
  S[        S-  -  -   S[        -  -   S-
  :X  d   eU " [        SS5       Vs/ s H  n[	        U5      PM     sn6 n[        U[        5      nUR                  [        S05      S:X  d   eg s  snf )Nr   )Add)expand_multinomialr.   r0   r/   r3   r5   v      i)  r,   r2   r[   r1   r\   r]   r^   r_   r`   ra   r7   l   >/&5> )
sympy.core.addr   sympy.core.functionr   r   r   r   r(   rangesubs)r   r   ru   rt   is        rF   test_minimal_polynomial_sqr      s   "6A$q'	MAd1gI59:A	Ax1~-q	1BA!Q$QT)CE1D8888AQK!DG)3d1g=ABA	Ax1~-q	1BA!Q$AqD(3q!t83c!Q$h>adJTRSUVRVYVY]^_Y__bfffffuQ|,|!d1g|,-A	Aq	!B77Aq6?3333 -s   Fc            
      4  ^ [        S5      n [        U S-   [        5      nUS[        S-  -  S[        -  -
  S-   :X  d   e[        [        [        [
        -  S-  5      [        5      [        S-  S-   :X  d   e[        [        [
        S	-  5      [        S5      -   [        5      nUS
[        S-  -  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -
  S-   :X  d   e[        [        [
        S	-  5      [        S5      -   [        5      nUS[        S-  -  S[        S-  -  -
  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -   S[        -  -
  S-
  :X  d   e[        [        [        [
        -  S	-  5      [        S5      -   [        5      nU[        S-  S[        S-  -  -
  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -   S [        S	-  -  -
  S![        S-  -  -
  S"[        S-  -  -   S#[        S-  -  -   S$[        S-  -  -
  S%[        S-  -  -
  S&[        -  -   S'-   :X  d   e[        [        [
        S	-  5      [        S5      -   [        5      nUS
[        S-  -  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -
  S-   :X  d   e[        [        [
        S	-  5      [        S5      -   [        5      nUS[        S-  -  S[        S-  -  -
  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -   S[        -  -
  S-
  :X  d   e[        [        [        [
        -  S	-  5      [        S5      -   [        5      nU[        S-  S[        S-  -  -
  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -   S [        S	-  -  -
  S![        S-  -  -
  S"[        S-  -  -   S#[        S-  -  -   S$[        S-  -  -
  S%[        S-  -  -
  S&[        -  -   S'-   :X  d   e[        [        [        [
        -  [        SS	5      -  5      [        5      nU[        S-  [        S-  -   [        S-  -   [        S-  -   [        S-  -   [        -   S-   :X  d   e[        [        [        [
        -  [        SS(5      -  5      [        5      nU[        S-  [        S	-  -
  [        S-  -   [        S-  -
  [        S-  -   [        -
  S-   :X  d   e[        [        [
        [        SS	5      -  5      [        5      nUS[        S-  -  S[        S-  -  -   S[        -  -
  S-
  :X  d   e[        [        [
        [        SS	5      -  5      [        5      nS[        [
        [        SS	5      -  5      -  S	-
  S[        [
        S	-  5      -  S[        [
        [        SS	5      -  5      -  -
  -  m[        T[        5      nU[        S-  S[        S-  -  -   [        -
  S-
  :X  d   e[        S)S[        [
        S	-  5      -  -  [        5      [        S-  S[        S-  -  -   [        -
  S-
  :X  d   e[        [        [
        [        SS(5      -  5      [        5      S*[        S-  -  S+[        S-  -  -
  S,[        S-  -  -   S-[        S-  -  -
  S-   :X  d   e[        [        [
        [        SS.5      -  5      [        5      S[        S-  -  S[        S-  -  -
  S[        -  -
  S-   :X  d   e[        [        [
        S(-  5      [        5      S[        S-  -  S[        S-  -  -   S[        S-  -  -
  S[        -  -
  S-   :X  d   e[        [        S-  [        S-  -   S-   S/5      m[        T[        5      nU[        S-  S[        -  -   S-   :X  d   e[        TS-   [        5      nU[        S-  S[        S-  -  -
  S	[        -  -   S-
  :X  d   e[        [        [        [
        -  S-  5      [        5      [        S-  [        -
  S-   :X  d   e[        [        [        [
        -  S-  5      [        5      [        S-  S-   :X  d   e[        [        [        [
        -  S-  5      [        5      [        S-  [        S-  -
  S-   :X  d   e[        [        [        [
        -  S-  5      [        5      [        S-  [        S-  -
  S-   :X  d   e[        [        [        [
        -  S-  5      [        5      [        S-  [        S-  -
  [        S-  -   [        S-  -
  S-   :X  d   e[        [        [
        S-  5      [        5      S[        S-  -  S0[        S-  -  -
  S1[        S-  -  -   S-
  :X  d   e[        [        [
        S-  5      [        5      S2[        S-  -  S3[        S-  -  -
  S3[        S-  -  -   S4[        S-  -  -
  S5[        S-  -  -   S-
  :X  d   e[        [        [
        S6-  5      [        5      S
[        S-  -  S7[        S-  -  -
  S7[        S-  -  -   S8[        S-  -  -
  S9[        S-  -  -   S[        S-  -  -
  S-   :X  d   e[        [        [
        S-  5      [        5      S[        S-  -  S[        -  -
  S-
  :X  d   eS[        SS5      -  [        S[        -  [
        -  S-  5      -  m[        T[        5      [        S-  S-
  :X  d   e[        [        S: 5        [        [        S; 5        [        [        S< 5        [        [        S= 5        SS>S?[        S5      -  -
  S[        S5      -  [        [        S5      S-   5      -  S@[        S5      -  [        [        S5      * S-   5      -  -   S-  -   -  S-   m[        [        U4SA j5        [        SS[        SS5      -  -   5      [        SS[        SS5      -  -   5      -   [        S5      -   m[        T[        5      n[        U5      SB:X  a  UR                  [        S/05      SC:X  d   e[!        [
        S-  SDSE9m[        T[        5      nU[        S-  S[        S-  -  -
  S-   :X  d   eUR                  [        [!        [
        S-  5      5      R"                  (       d   e[!        [
        S-  SDSE9m[        T[        5      nUS[        S-  -  S-
  :X  d   eUR                  [        [!        [
        S-  5      5      R"                  (       d   e[!        [
        S-  SDSE9m[        T[        5      nUS[        S-  -  S[        S-  -  -
  S-   :X  d   eUR                  [        [!        [
        S-  5      5      R"                  (       d   e[        [        SF 5        g )GNrU   r3   rV   r/   i  i? r2   r.   r,   i   r7   i   r;   i ] i r1   i` r5   i io  @   r0   i  i0  i        rY   r8   rZ   +   F   a   ~         r=            r-      r\      re   r9   r   r6   $   i   i   rA         i ,  i  i  c                  T    [        [        [        [        S5      -  5      [        5      $ rJ   )r   r   r
   r   r(   rD   rE   rF   rG   &test_minpoly_compose.<locals>.<lambda>*      !3C47
OQ!GrE   c                  T    [        [        [        [        S5      -  5      [        5      $ rJ   )r   r   r
   r   r(   rD   rE   rF   rG   r   +  r   rE   c                  P    [        [        S[        -  [        -  5      [        5      $ )NgS?)r   r   r   r
   r(   rD   rE   rF   rG   r   ,  s    !3Ca
OQ!GrE   c                  b    [        [        [        [        -  [	        S5      -  5      [
        5      $ rJ   )r   r   r   r
   r   r(   rD   rE   rF   rG   r   -  s    !3C"T!W4Eq!IrE   i`si      c                  $   > [        T [        5      $ rC   )r   r(   rs   s   rF   rG   r   2  s    &8Q&?rE   r?   l{> Fr   c                  T    [        [        [        [        S5      -  5      [        5      $ rJ   )r   r   r
   r   r(   rD   rE   rF   rG   r   G  r   rE   )r   r   r(   r   r   r
   r   r   r   r   r&   r   r#   ZeroDivisionErrorr'   r   r   is_zero)rr   rt   rs   s     @rF   test_minpoly_composer      s   	
 ) 
*B 
BFA	&BadU1W$u,,,, c!B$q&k1-A999	C1IQ/	3BaeeArEk)F1a4K7&A+Eq!tQTk"$)* * * *	C1IQ/	3BAqD2ad7"SAX-AqD83q!t8CE   	C"QK$q'11	5BB1b51QU7*R1W4r!Q$w>AqDH2aQRd7RUXYZ\]Y]U]]`cdeghdh`hhknoprsoskssvxyz|}y}v}}  AD  EF  AF  F  IL  L  L  L  L	C1IQ/	3BaeeArEk)F1a4K7&A+Eq!tQTk"$)* * * *	C1IQ/	3BAqD2ad7"SAX-AqD83q!t8CE   	C"QK$q'11	5BB1b51QU7*R1W4r!Q$w>AqDH2aQRd7RUXYZ\]Y]U]]`cdeghdh`hhknoprsoskssvxyz|}y}v}}  AD  EF  AF  F  IL  L  L  L  L	C"Xa^ 34a	8BA1q!t#ad*QT1A59999	C"Xa_ 45q	9BA1q!t#ad*QT1A59999	C8Aq> 12A	6B1a4!AqD&1Q3&****	C8Aq> 12A	6B
C8Aq>!"
"Q
&3r!t9qRA=N9O7O)O	PB	B	"BA!Q$"Q&&&&b!C1I+.2adQq!tVma6G!6KKKKc"Xa_"45q91Hs1a4x#ad(*R1W4q89 9 9c"Xa_"45q9Qq!tVa1f_qQRs=RUV=VVVVc"R%j!,1a4!AqD&0@2ad70JQqS0PST0TTTT	1ac	Aq	!B	B	"BA!a	BFA	&BA!Q$1$q((((c!B$q&k1-AA===c!B$q&k1-A999c!B$q&k1-A1q@@@c!B$q&k1-A1q@@@c!B$r'lA.!Q$A+12Dq!t2Ka2OOOOc"Q$i+r!Q$wAqD/@2ad7/JQ/NNNNc"R%j!,QU
T!Q$Y0FAI1QT	1"$'1H1-/112 2 2 2c"R%j!,QU
U1b5[0HA:1QT	1"$'1H1-/1!Q$w179:1; ; ; ;c"Q$i+qAv!|a/????	
HQN	3qs2vax=	(Bb!$1q000
<GH
<GH
<GH
<IJ 
FT$q'\!RR[d1gk1B%B
48D$q'A&&&')*%+ + 
,./
0B
?@	a!Xa]""	#d1q(1Q-/?+?&@	@47	JB	B	"B":1, >>>	RTE	"B	B	"BA1a4!####771c"Q$i ((((	RTE	"B	B	"B1a4!771c"Q$i ((((	RUU	#B	B	"B1a4"QT'!A%%%%771c"R%j!))))
<GHrE   c                  p    SSK Jn   U " [        SS9n[        U[        5      nUS[        S-  -  S-
  :X  d   eg )Nr   )	nsimplifyg&.>)	tolerancel   oD!|S0o60" m   l                    869V_jp)A+DGZ  )sympy.simplify.simplifyr   r
   r   r(   )r   rrt   s      rF   test_minpoly_issue_7113r   J  sG    1",A	Aq	!B?3Fhi i i irE   c                     [        S[        S-  -  S[        S-  -  -
  S[        -  -   S-
  S5      n [        S[        S-  -  S[        S-  -  -
  S[        -  -   S-
  S5      nS	U S
-  -  US
-  -  SU S
-  -  US-  -  -
  SU S
-  -  US-  -  -   SU S
-  -  U-  -
  SU S
-  -  -   SU S-  -  US
-  -  -
  SU S-  -  US-  -  -
  SU S-  -  -
  SU S-  -  US
-  -  -   SU S-  -  US-  -  -
  SU S-  -  U-  -
  SU S-  -  -   SU -  US
-  -  -
  SU -  US-  -  -
  SU -  -
  SUS
-  -  -   SUS-  -  -
  SUS-  -  -   SU-  -
  S-   n[        S-  S[        S-  -  -   S[        -  -   S-   n[        U[        5      U:X  d   eg )Ni 	= r3   iMr/   l   !: l   1D> r   r.   l      =]T r5   l     N>kl     Tf"(n>l     c6 \D l    `xg;Dj  l     ~a`0_t
' l    ('ZYL=B
l    x5,%[vxZ=l   <LiZZqpLgC4 l   @QQGSr]  l   b Y'l l   /2!#.hR'.; l   cuFN6c+]sVxYZl   x~gVN]|i<XON(pb-RS s;plQ)r   r(   r   )r1r2numrt   s       rF   test_minpoly_issue_23677r   S  sv   	A	!Q$.A=KQ	OB	A	!Q$.A=KQ	OBr1u$RU*-B2q5-HQ-NN%b!e+BE124LRQRU4RSU4UV'A-.0Eb!e0KBPQE0QR (A-b!e34 7QQSUVQV6VW &b!e+BE1	2 5NbRSe4STVXYTY4Y	Z
 *"a%/23
 6RRTVWRW5WX 'r)"a%/0 3Nb2PQSUVQV2VW ,B./ 2K2q51PQ )Q./ 2NbRSe1ST *",	- 0N	NC Q$1!Q$6
6HJKfgB c1%+++rE   c                  ~    S[        SS5      -  * S[        SS5      -  -   n [        U [        5      [        S-   :X  d   eg )Nr-   r.   r3   r/   )r   r   r(   r   s    rF   test_minpoly_issue_7574r   f  s>    A
	"x!}!4	4Bb!$A---rE   c                     ^  [        [        S-
  [        5      [        [        S-   [        5      /m [        [        U 4S j5        g )Nr/   c                  8   > [        T [        [        S5      5      $ )Nr3   )r   r(   r   bad_factorss   rF   rG   $test_choose_factor.<locals>.<lambda>n  s    {AtAw(OrE   )r   r(   r   NotImplementedErrorr   s   @rF   test_choose_factorr   k  s-    !Q<ac1.K
 OPrE   c                  ,
   [        S[        -  [        5      [        * [        -  S-   :X  d   e[        S[        S-   -  [        5      [        S-   [        -  S-
  :X  d   e[        [        [        5      [        5      [        S-  [        -
  :X  d   e[        [        [        S-   5      [        5      [        S-  [        -
  S-
  :X  d   e[        [        [        5      [        -  [        5      [        [        S-  -  S-
  :X  d   e[        [        S5      [        [        5      -  [        5      [        S-  S[        -  -
  :X  d   e[        [        S5      [        [        5      -   [        5      [        S-  S[        -  S-
  [        S-  -  -   [        S-  -   S[        -  -
  S-   :X  d   e[        [        [	        SS5      -  [        5      [        S-  [        -
  :X  d   e[        [        [	        SS5      -  [        [        5      -   [        5      [        S-  S[        -  [        S-  -  -
  S[        -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        -  -
  [        S-  -
  [        S-  -   :X  d   e[        [        [        5      [
        -  [        5      [
        S-  [        S-  -  [        -
  :X  d   e[        [        [        5      [
        S-   -  [        5      [
        S-  S[
        -  -   S-   [        S-  -  [        -
  :X  d   e[        S[        -  [        SS9[        [        * [        -  S-   [        S	S
9:X  d   e[        S[        S-   -  [        SS9[        [        S-   [        -  S-
  [        S	S
9:X  d   e[        [        [        5      [        SS9[        [        S-  [        -
  [        S	S
9:X  d   e[        [        [        5      [
        -  [        SS9[        [
        S-  [        S-  -  [        -
  [        SS
9:X  d   e[        [        5      [        S[        S-  -   5      -  [        [        S-  S-   5      [        -  -
  S[        [	        SS5      -  S[        S-  -   [	        SS5      -  -  -  -   S[        [	        SS5      -  S[        S-  -   [	        SS5      -  -  -  -   n [        U [        5      [        :X  d   e[        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        g )Nr.   r/   r5   r3   r1   TrL   zZZ(x)rN   zZZ(x, z)r0   rY   c                  <    [        [        [        5      [        5      $ rC   )r   r   r(   r)   rD   rE   rF   rG   -test_minpoly_fraction_field.<locals>.<lambda>  s    !3CFA!>rE   c                  <    [        [        [        5      [        5      $ rC   )r   r   r(   rD   rE   rF   rG   r     s    $6tAw$BrE   c                  J    [        [        [        5      [        -
  [        5      $ rC   r   r   r(   r)   rD   rE   rF   rG   r     s    $6tAw{A$FrE   c                  :    [        [        [        5      [        SS9$ )NFrc   r   rD   rE   rF   rG   r     s    (:47Au(UrE   )r   r(   r)   r   r   r*   r   r   r#   r$   r   ro   s    rF   test_minpoly_fraction_fieldr   q  s$   ac1%!A111a1q5k1-!a%Q>>>d1gq)QTAX555d1q5k1-AA===d1gk1-1a4!;;;d1gQ/3q!ta!e|CCCd1gQ/3	11q!Q$A%!+a/0 0 0 a!A.2adQh>>>a!A.a8!<	1qs1a4x!A#ad("Qq!tVAqD[01QT6!8;adBQTIJ J J d1gk1-AadQ>>>d1gQ/31qs
Q17Lq7PPPPac1D1T1"Q$(Ag5VVVVa1q5k1D9a!eQY]Ag./ / /d1gq5adQhRY9ZZZZd1gk1D9QT!Q$Y]Aj12 2 2 	QQR[!!DAN1$44q!Xa^:K	
QWx1~%;& 8' 	')*AxA,>AGhWXZ[n?\,\)]	^A a#q(((
<>?
?BC
?FG
 UVrE   c                      [        [        [        [        [        SS5      -  S-
  5      [        5      R                  [        [        [        [        SS5      -  S-
  5      5      [        5      [        :X  d   eg )Nr.   r0   )r   r   r(   r   r)   r   r*   rD   rE   rF    test_minpoly_fraction_field_slowr     sa    0a!A6F6J1K	448Aa=(1,-.3678 8 8rE   c            	         [        [        S5      [        [        R                  " [        S5      5      S9[        [        S5      -
  :X  d   e[        [        S5      [        [        R                  " [        S5      5      S9[        S[        S5      -  -
  :X  d   e[        [        [        SS5      5      [        [        R                  " [        S5      5      S9S[        S-  -  S-
  :X  d   e[        [        S 5        g )Nr/   rN   r2   r3   c                  0    [        [        [        [        S9$ )NrN   )r   r)   r(   r%   rD   rE   rF   rG   %test_minpoly_domain.<locals>.<lambda>  s    !3Aq!DrE   )r   r   r(   r%   rn   r   r   r#   rD   rE   rF   test_minpoly_domainr     s    d1gq1C1CDG1LM	DG  d1gq1C1CDG1LM	Ad1gI  d8Aa=11!!$q'*,/0Avz: : : <DErE   c                     S[        S5      -  [        S[        S5      -  S-   5      -  n [        U [        5      [        S-  S[        -  -   S-
  :X  d   eS[        S[        S5      -  S-   5      -  S[        S5      -  -   S-   S[        S5      -  [        S[        S5      -  S-   5      -  -
  n[        U[        5      [        :X  d   eg )Nr   r/   r7   rQ   rZ   r2   r   )r   r   r(   )ro   es     rF   test_issue_14831r     s    
47
447
R((Aa#q!tbd{Q666	DDGb!	!BtAwJ	.	
QiRQZ"_--
.Aa#q(((rE   c            
         [        [        [        S-  -  [        S5      S-  -
  [        [        S-  -  SS[        S5      -  -  -
  /[        [        5      [	        [        S5      S-  [        S5      S-  4[        S5      S-  [        S5      * S-  [        S5      [
        -  S-  -
  4[        S5      S-  [        S5      * S-  [        S5      [
        -  S-  -   45      :X  d   eg )Nr3   r/   r1   r5   r8   )r   r(   r)   r   r   r   rD   rE   rF   test_issue_18248r     s    !Q$tAwqy(!AqD&AtAwK*@A!AFtAwqy$q'!),tAwqy47(1*tAwqyQR{:R.S!WQYa
T!WQYq[0133 3 3rE   c                  :   [        [        S[        S5      5      S5      n [        [        S[        S5      5      S5      n[        X5      [        S[        S5      * [        S5      -   S[        S5      -  S-  S	[        S5      -  S-  -   [        S
[        S5      -  S-   5      S-  -   -  -   S[        S5      -  S-  S	[        S5      -  S-  -   [        S
[        S5      -  S-   5      S-  -   5      [        S[        S5      * [        S5      -   [        S
[        S5      -  S-   5      * S-  S[        S5      -  S-  -
  S	[        S5      -  S-  -   -  -   [        S
[        S5      -  S-   5      * S-  S[        S5      -  S-  -
  S	[        S5      -  S-  -   5      /:X  d   eg )Nr3   r0   r5   r,   r1   r-   r      r8      #   i  r/   )r   r   r   r   )c1c2s     rF   test_issue_13230r     s   	47#Q	'B	47#Q	'BGB47(T!W2Dr$q'zRT}QilH#d2h,-.r1H2 23 -346tAwJrMAd1gIbL4P
3tBx<$"5#%$%,RDG8d1g3EcRVWYRZl
O J II472I !$q'	"I- 3. ..04Sb\D5H0I/I"/LqQUVWQXyY[|/[^_`def`g^ghj^j/j&l$m m m mrE   c            	      d   S[        S[        S5      -   5      [        S5      [        S[        S5      -   5      -  -
  -  S-   n [        S-  S[        S-  -  -
  S[        S-  -  -   S-
  nS HC  n[        [        XS95      nU" [        5      U:X  a  M'   SU< SU" [        5      < S	U< S
35       e   g )Nr.   r/   r5   r3   )TFrc   zminimal_polynomial(e, compose=z) = z; z	 expected)r   r(   r   r   )r   mp_expectedcomprt   s       rF   test_issue_19760r     s    	4DGtAwtAQK'8889A=AQ$1a4-!AqD&(1,K$Q56!u#w^bdfghdikv%ww# rE   c                  N   [        S[        S-  S-   -  [        S5      [        /S9[        S5      [        -   S[        -  [        S5      -   [        -   -  S-  [        S5      [        -
  S[        -  [        S5      -   [        -
  -  S-  -   [        S5      [        -
  S[        -  [        S5      -
  [        -   -  S-  -
  [        S5      [        -   S[        -  [        S5      -
  [        -
  -  S-  -
  [        [        [        -   -  S-  -   [        [        [        -
  -  S-  -
  :X  d   eg )Nr.   r1   r3   )	extensionr/   )r"   r(   r   r   rD   rE   rF   test_issue_20163r     s   AqDFQ|4	a1qsT!W}q()!+	a1qsT!W}q()!+	,	a1qsT!W}q()!+	, 
a1qsT!W}q()!+	, 	
1q5	!		 Qik		"" " "rE   c                  r    [        [        S5      5      n [        U S-  [        5      [        S-  S-
  :X  d   eg )Nr/   r3   r2   )r   r   r   r(   )alphas    rF   test_issue_22559r     s1    DG$EeQh*adQh666rE   c                  H   [        [        S5      [        S5      -   [        S5      S-  S[        S5      S-  S/[        S9n U R	                  5       [        S5      :X  d   e[        U [        5      [        S-  S-
  :X  d   e[        U S-  [        5      [        S-  S-
  :X  d   eg )Nr/   r3   r.   r   i)genr2   )r   r   r   r(   as_exprr   r   s    rF   test_issue_22561r     s    Q$q')AaD1Ha2A+FANA99;$q'!!!a#q!tax///adA&!Q$(222rE   c                  &    [        [        S 5        g )Nc                  L    [        [        [        S5      S-  -  [        -   5      $ )Nr.   r3   )r    r(   r   rD   rE   rF   rG   +test_separate_sq_not_impl.<locals>.<lambda>  s    Q1a[1_(ErE   r   r   rD   rE   rF   test_separate_sq_not_implr     s    
 EFrE   c                  &    [        [        S 5        g )Nc                  \    [        [        [        S5      [        S5      [        [        5      $ )Nr/   r3   )r   r   r   r(   r%   rD   rE   rF   rG   <test_minpoly_op_algebraic_element_not_impl.<locals>.<lambda>  s    0d1gtAw2NrE   r   rD   rE   rF   *test_minpoly_op_algebraic_element_not_implr     s    
NPrE   c                     [        [        S5      S-  [        [        5      S[        -  S-
  :X  d   e[        [	        S5      S-   [	        S5      S-   -  [        [        5      [        S-  S[        -  -
  S-
  :X  d   e[        [	        S5      S-   [        S5      S-  -  [	        S5      S-   [        S5      S-  -  -  [        [        5      [        S-  S[        S-  -  -
  S-
  :X  d   e[        [	        S5      S-   [        S5      * S-  -  [	        S5      S-   [        S5      S-  -  -  [        [        5      S[        S-  -  S[        S-  -  -
  S-
  :X  d   e[        [        S 5        g )Nr/   r3   r.   r;   r,   r1   c                  :    [        [        S-  [        [        5      $ rJ   )r!   r
   r(   r   rD   rE   rF   rG   'test_minpoly_groebner.<locals>.<lambda>  s    !22q5!T!BrE   )r!   r   r(   r   r   r   r#   rD   rE   rF   test_minpoly_groebnerr     sM   QqT!VQ-1q888	a1tAw{#Q.12A1qA A Ad1gkQqT!V4d1gkQqT!V5LL&)*A1a4!);< < <d1gkadU1W5tAw{ad1f6MM&)*1a4!AqD&1)<= = =
<BCrE   N)W__doc__r   r   
sympy.corer   r   sympy.core.numbersr   r   r   r	   r
   sympy.core.powerr   sympy.core.singletonr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   r   (sympy.functions.elementary.trigonometricr   r   r   sympy.ntheory.generater   sympy.polys.polytoolsr   sympy.polys.rootoftoolsr   sympy.solvers.solvesetr   sympy.geometryr   r   sympy.testing.pytestr   r   sympy.sets.setsr   sympy.geometry.pointr    sympy.polys.numberfields.minpolyr   r   r   r    r!   sympy.polys.partfracr"   sympy.polys.polyerrorsr#   r$   sympy.polys.domainsr%   r&   r'   	sympy.abcr(   r)   r*   rm   rw   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rD   rE   rF   <module>r     s    % & 8 E E   " 6 A D D , & + . / - % (  '
 # * (  H6V=/ [4_IDi,&.
Q"WH 8 8F)3mx"7
3GP
DrE   