
    \h;                        S 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  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  SSKJrJrJrJ r J!r!J"r"  SSK#J$r$  SSK%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0  SSKJ1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7J8r8  SSK9J:r:  S r;S r<S r=S r>S r?S r@S rAS rBS rCS rDg )!z6Tests for solvers of systems of polynomial equations.     )ZZQQ_I)IIntegerRational)S)symbols)sqrt)QQ)UnsolvableFactorError)Options)Poly)CRootOf)solve)flatten)abcxyz)PolynomialError)solve_poly_systemsolve_triangulatedsolve_biquadraticSolveFailedsolve_genericfactor_system_boolfactor_system_condfactor_system_polyfactor_system_factor_sets_factor_sets_slow)parallel_poly_from_expr)raises)Eq)sincos)expc                  	   [        [        S-
  /[        5      [        R                  4/:X  d   e[        [        [        -
  [        [        -
  S-
  /[        [        5      b   e[        [        [        S-  -
  [        [        S-  -   /[        [        5      [        R
                  [        R
                  4/:X  d   e[        S[        -  S-
  [        [        SS5      -  S[        -  -
  [        S[        -  -
  /[        [        [        5      [        SS5      [        S5      [        S5      4/:X  d   e[        [        [        -  S[        -  -
  S[        S-  -  [        S-  -
  /[        [        5      SS[        S5      * 4S[        S5      4/:X  d   e[        [        [        S-  -
  [        [        S-  -   S-   /[        [        5      [        * [        [        R                  5      -  [        SS5      4[        [        [        R                  5      -  [        SS5      4/:X  d   e[        S-  [        -   [        -   S-
  n [        [        S-  -   [        -   S-
  n[        [        -   [        S-  -   S-
  n[        S5      S-
  [        S5      * S-
  pC[        XU/[        [        [        5      SS	S
X3U4XDU4/:X  d   eSS/n[        [        [        S-  [        S-  -
  5      [        [        S-
  5      /5      U:X  d   e[        [        S-  [        S-  -
  [        S-
  /[        [        5      U:X  d   e[        [        S-  [        S-  -
  [        S-
  /5      U:X  d   e[        [        [        [        -  -   S-
  [        [        [        -  -   S-
  /[        [        5      SS/:X  d   e[        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S-  [        -
  S-   /[        /SS9/ :X  d   e[        [         S 5        [        [        S-
  [        S-  [        -
  S-   -  [        S-  S-
  /[        [        /SS9SS/:X  d   e[        [         S 5        g )N            
   )r   r   r   r   r+   r   r+   r   r+   r   r   r+   r0   r+   r+      ))r+   r,   c                  P    [        [        S-  [        S-  -
  /[        [        5      $ )Nr-   r   r   r        X/var/www/auris/envauris/lib/python3.13/site-packages/sympy/solvers/tests/test_polysys.py<lambda>(test_solve_poly_system.<locals>.<lambda>@   s    (91a4!Q$;-A(Nr<   c                      [        [        S[        -  [        S-  -  [        -   [        S-  [        -  -   [        S-  [        * S-
  -  S-   /5      $ )Nr8   r,   r6   )r   r   r   r   r;   r<   r=   r>   r?   A   sD    (9	
BqDAIMAqDF"AqD1"q&MA$56)8r<   c                  2    [        S[        -  /[        5      $ Nr+   r   r   r;   r<   r=   r>   r?   C   s    $5qseQ$?r<   c                  >    [        [        S-
  /[        [        45      $ rB   r:   r;   r<   r=   r>   r?   E       (9Q3&1a&)r<   c                  >    [        [        S-
  /[        [        45      $ rB   )r   r   r   r;   r<   r=   r>   r?   G   rE   r<   Fstrictc                  F    [        [        S-  [        -
  S-   /[        /SS9$ )Nr.   r+   TrG   rC   r;   r<   r=   r>   r?   M   s!    *;	
AAD+*r<   c                  z    [        [        S-
  [        S-  [        -
  S-   -  [        S-  S-
  /[        [        /SS9$ )Nr+   r.   r,   TrG   r:   r;   r<   r=   r>   r?   S   s7    $q1uq!tax!|&<ad1f%E&'VD:r<   )r   r   r   Oner   Zeror   r   r   r
   r   Halfr   r%   NotImplementedErrorr   r   )f_1f_2f_3r   r   solutions         r=   test_solve_poly_systemrS      s   a!eWa(aeeXJ666a!eQUQY/A6>>>a!Q$hAqD11a8affaff=M<NNNNacAgq!Q'7!A#'=q1Q3wGAqQ
1a.'!*gbk	234 4 4 acAaCi1a4!Q$7A>	!d1gXDG-. . . a!Q$hAqD15q!<"T!&&\/8B?	+aQVVnhr1o-NOP P P Q$(Q,
C
ad(Q,
C
a%!Q$,
C7Q;a1qc_aA6	Iy1)aAY?@ @ @  Hd1a4!Q$;/a!e=>(JJJadQTk1q511a8HDDDadQTk1q512h>>>	
QqS1a!A#gk"Aq*.6-?@ @ @  NO
 !8 9
??@
 ! 
 ! 
 adQhl^aS?2EEE
  #* + q1uq!tax!|4adQh?!Q$)+/6.?@ @ @
 :;r<   c            
      ^  ^  [        [        [        4SS05      m [        [        S-  S[        S-  -  -
  [        S-  [        -
  S-   /T 5      [	        S[	        S5      [
        -  -
  5      * [        SS5      [	        S5      [
        -  S-  -
  4[	        S[	        S5      [
        -  -
  5      [        SS5      [	        S5      [
        -  S-  -
  4[	        S[	        S5      [
        -  -   5      * [        SS5      [	        S5      [
        -  S-  -   4[	        S[	        S5      [
        -  -   5      [        SS5      [	        S5      [
        -  S-  -   4/:X  d   e[        S[        -  [        -
  [        S-
  [        S-  [        -
  S-   -  /T SS	9[        SS5      S4/:X  d   e[        [        U 4S
 j5        g )Ndomainr   r,   r+   r0   r-   r.   FrG   c                  p   > [        S[        -  [        -
  [        S-
  [        S-  [        -
  S-   -  /T SS9$ )Nr,   r+   r.   TrG   )r   r   r   	NewOptions   r=   r>   $test_solve_generic.<locals>.<lambda>d   s4    -	
1q1q51a4!8a<()9T+Cr<   )	r   r   r   r   r
   r   r   r%   r   rW   s   @r=   test_solve_genericrZ   W   s   A4 01I!Q$1a4-AA6	B2Q	>""HQNT!WQYq[$@A"tAwqy.!8Aq>DGAIaK#?@2Q	>""HQNT!WQYq[$@A"tAwqy.!8Aq>DGAIaK#?@BB B B 	
1q1q51a4!8a<()9UD
1a.!	     #C Dr<   c                    ^^^^ [        S5      u  pp#n[        S-
  S-  [        S-
  S-  -   US-  -
  n[        S-
  S-  [        S-
  S-  -   US-  -
  n[        SUS-  -  S-
  5      nSU-
  S-  nSU-   S-  n	[	        XV/[        [        5      X4X4/:X  d   e[        S-
  S-  [        S-
  S-  -   US-  -
  n[        S-
  S-  [        S-
  S-  -   US-  -
  n[	        XV/[        [        5      S[        SU-  S-
  SU-  S-   -  5      S-  -
  [        SS5      4S[        SU-  S-
  SU-  S-   -  5      S-  -   [        SS5      4/:X  d   eS m[        S-
  S-  [        S-
  S-  -   US-  -
  n[        U-
  S-  [        S-
  S-  -   US-  -
  n[	        XV/[        [        5      n
[        U
5      S:X  a  [        S U
 5       5      (       d   e[        U4S j[        U
5       5       5      (       d   e[        U -
  S-  [        U-
  S-  -   US-  -
  n[        U-
  S-  [        U-
  S-  -   US-  -
  n[	        XV/[        [        5      n
[        U
5      S:X  a  [        S U
 5       5      (       d   e[        U4S	 j[        U
5       5       5      (       d   e[        [        -  [        -
  [        S-  [        -
  4n[        U5      [        S0[        S
[        S
0/:X  d   e[        [        -  [        -
  [        S-  [        -
  4n[        U5      [        S0[        S
[        S
0/:X  d   e[        [        4nX4 H+  n[        U/UQ76 u  u  mmm[        [        UUU4S j5        M-     [        S-  [        S-  -   S-
  [        S-  S-
  4n[        U/UQ76 u  u  mmm[        TTT5      / SQ:X  d   eSS/n[        S-  [        S-  -   S-
  [        S-  S-
  4n[        U/UQ76 u  u  mmm[        TTT5      U:X  d   e[        S-  [        S-  -   S-
  [        S-  [        -
  [        S-  -   S-
  4n[        U/UQ76 u  u  mmm[        TTT5      U:X  d   eg )Nzx0 y0 x1 y1 rr+   r,   r-   c                 `    U R                   =(       a    U R                  [        R                  L $ N)is_Powr)   r   rM   )exprs    r=   r>   (test_solve_biquadratic.<locals>.<lambda>y   s    ;QVV);;r<   c              3   >   #    U  H  n[        U5      S :H  v   M     g7fr,   Nlen.0rs     r=   	<genexpr>)test_solve_biquadratic.<locals>.<genexpr>        #@ACFaK   c              3   J   >#    U  H  oR                  T5      S :H  v   M     g7fr+   N)countrf   rg   querys     r=   rh   ri      s     <Oqwwu~"Os    #c              3   >   #    U  H  n[        U5      S :H  v   M     g7frb   rc   re   s     r=   rh   ri      rj   rk   c              3   ^   >#    U  H"  n[        UR                  T5      5      S :H  v   M$     g7frm   )rd   findro   s     r=   rh   ri      s#     @1s166%=!Q&s   *-r   c                     > [        T TT5      $ r]   )r   )fgopts   r=   r>   r`      s    $5aC$@r<   ))r0   r0   )r0   r+   r4   r5   )r   r0   )r   r+   )r	   r   r   r
   r   r   rd   allr   r   r$   r%   r   r   )x0y0x1y1rg   rO   rP   sr   r   results1s2gensseqansru   rv   rw   rp   s                   @@@@r=   test_solve_biquadraticr   h   sh   0BBAq51*Az
!AqD
(Cq51*Az
!AqD
(CQq!tVaZA	
Q	A	
Q	AcZA.A6A62BBBBq51*Az
!AqD
(Cq51*Az
!AqD
(CcZA.
dAaC!GacAg&')
)8Aq>	:
dAaC!GacAg&')
)8Aq>	:	<< < < <Eq5A+Q

"QT
)Cr6A+Q

"QT
)Cz1a0Fv;!#@#@ @ @@@<GFO<<<<<r6A+R!
#ad
*Cr6A+R!
#ad
*Cz1a0Fv;!#@#@ @ @@@@@@@@@
A#'1a4!8	B9!Q!Q1....
A#'1a4!8	B9!Q!Q1....q6Dx-c9D9A{@A  a4!Q$;?AqD1H
%C)#55KFQCQ3' ,, , , ,F
Ca4!Q$;?AqD1H
%C)#55KFQCQ3'3...a4!Q$;?AqD1Hq!tOa/
0C)#55KFQCQ3'3...r<   c                     [         S-  [        -   [        -   S-
  n [         [        S-  -   [        -   S-
  n[         [        -   [        S-  -   S-
  n[        S5      S-
  [        S5      * S-
  pC[	        XU/[         [        [        5      / SQ:X  d   e[
        R                  " [        S5      5      n[	        XU/[         [        [        US9SSSX3U4XDU4/:X  d   e[        [        S-  S[        -  -   S-
  S5      [        [        S-  S[        -  -   S-
  S5      pC[	        XU/[         [        [        S	S
9SSSX3U4XDU4/:X  d   eg )Nr,   r+   )r1   r2   r3   rU   r1   r2   r3   r   T	extension)r   r   r   r
   r   r   algebraic_fieldr   )rO   rP   rQ   r   r   doms         r=   test_solve_triangulatedr      sF   
Q$(Q,
C
ad(Q,
C
a%!Q$,
C7Q;a1qsoq!Q7)* * * 

T!W
%Csoq!QsC	Iy1)aAY?@ @ @ 1a4!A#:>1%wq!taczA~q'Aqsoq!Q$G	Iy1)aAY?@ @ @r<   c                  j   [        [        S-
  S-  S-  [        [        SS5      -
  S-  S-  -   S-
  [        /[        [        5      n U S[        R
                  S[        S5      -  -
  4S[        R
                  S[        S5      -  -   4/:X  d   e[        [        S-
  S-  S-  [        S	-
  S-  S-  -   S-
  [        /[        [        5      n [        U 5      S:X  d   eU S   S   S:X  d   eU S   S   R                  S
S5      (       d   eU S   S   S:X  d   eU S   S   R                  SS5      (       d   eg )Nr.   r,   i r/   r+   r      iW  g      ?g7g   mBgG@)	r   r   r   r   r   rM   r
   rd   
epsilon_eq)rootss    r=   test_solve_issue_3686r      s>   Q
6 1Q!R5H14LV4S SWXXZ[\^_abcEa"T$Z-/01affr$t*}6L2MNNNNQ
6 1QZ!OF4J JaOQRSUVXYZEu:??8A;!8A;!!"3T::::8A;!8A;!!"2D9999r<   c                  &   [        [        S-  S[        -  -   S-   /5      [        S-   //:X  d   e[        [        S-  S[        -  -   S-   [        S-  S[        -  -   S-   /5      [        S-   [        S-   //:X  d   e[        [        S-  S-   /5      [        S-  S-   //:X  d   e[        / 5      / /:X  d   e[        [        S-  [        S-  -   S[        -  [        -  -   [        S-  S-
  /[        S5      S9[        [        -   [        [        S5      -   /[        [        -   [        [        S5      -
  //:X  d   e[        [        S-  S-   [        S-  S-   /SS9[        [        -   [        [        -   /[        [        -   [        [        -
  /[        [        -
  [        [        -   /[        [        -
  [        [        -
  //:X  d   e[        [        S-  S-   [        S-  S-   /[
        S9[        [        -   [        [        -   /[        [        -   [        [        -
  /[        [        -
  [        [        -   /[        [        -
  [        [        -
  //:X  d   e[        S/5      / /:X  d   e[        S/5      / :X  d   e[        S[        /5      [        //:X  d   e[        SS[        /5      / :X  d   e[        [        S-  S-
  [        S	-  S-
  /5      [        S-  S-   [        S-  [        -   S-   /[        S-  S-   [        S-  [        -
  S-   /[        S-  S-   [        S-   /[        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-
  -  [        S-
  [        S
-
  -  /5      [        S-
  [        S
-
  /[        S-
  //:X  d   e[        [        [        5      S-  [        [        5      S-  -   S-
  [        /5      [        [        [        5      S-  [        [        5      S-  -   S-
  //:X  d   e[        [        [        5      S-  [        [        5      S-  -   S-
  /5      [        [        5      S-  [        [        5      S-  -   S-
  //:X  d   e[        [        [        5      S-  [        [        5      S-  -   /5      [        [        5      S-  [        [        5      S-  -   //:X  d   e[        [        [        -  [        [        /5      [        [        //:X  d   e[        [        [        -  [        [        /[        [        /5      / :X  d   e[        [        S-  [        -  [        /[        [        /5      [        [        //:X  d   e[        [        [        -  [        S-
  -  [        [        -  [        /[        [        /5      / :X  d   e[        [        [        -  [        S-
  -  [        [        -  [        /[        [        [        /5      [        S-
  [        [        /[        [        [        //:X  d   e[        [        [        -  [        S-
  -  [        [        -  [        /5      [        S-
  [        [        /[        [        [        /[        S-
  [        [        /[        [        [        /[        [        [        /[        [        [        //:X  d   e[        [        S-  S-
  /[        /5      / :X  d   e[        [        S-  S-
  /[        /5      [        S-  S-
  //:X  d   e[        [        [        5      S-  [        [        5      S-  -
  [        [        5      S-  [        [        5      S-  -   S-
  /5      [        [        5      S-  [        [        5      S-  -   S-
  [        [        5      [        [        5      -   /[        [        5      S-  [        [        5      S-  -   S-
  [        [        5      * [        [        5      -   //:X  d   e[        [        [        5      [        [        5      -   S-  S-
  [        [        5      S-  [        [        5      S-  -
  [        S[        -  5      -
  /5      [        [        5      S-  [        [        5      S-  -
  [        S[        -  5      -   [        [        5      [        [        5      -   S-   /[        [        5      S-  [        [        5      S-  -
  [        S[        -  5      -   [        [        5      [        [        5      -   S-
  //:X  d   e[        [        [        5      [        [        5      -   [        [        5      -  S-
  [        [        5      [        [        5      -
  [        [        5      -  S-
  /5      [        [        5      [        [        5      -  [        [        5      [        [        5      -  -   S-
  [        [        5      * [        [        5      -  [        [        5      [        [        5      -  -   S-
  //:X  d   eg )Nr,   r+   r   T)gaussianr   r   r6      r-   )r!   r   r   r
   r   r   r   r'   r(   r   r   r   r)   r;   r<   r=   test_factor_systemr      s   !Q$1*q.)*Qy888!Q$1*q.!Q$1*q.9:QA?OOOO!Q$($1a4!8*555$$$!Q$A+!A-q!tax8DGL	
QDG	
QDGQ   
 !Q$(AqD1H-=	
QA	
QA	
QA	
QA	B    !Q$(AqD1H-d;	
QA	
QA	
QA	
QA	@    !"%%%!###!a!qcU***!Q#r)))!Q$(AqD1H-.	
A1a4!8a< 	
A1a4!8a< 	
A1q5	
A1q5	
Q1q1	
Q1q1	
Q1q1	
Q1q1	
QA	
QA	
QA	
QA3    1q51q5/AEAE?;<	
QA	
QA   
 #a&!)c!fai/!3Q78	
CFAIA	!A%&=    #a&!)c!fai/!345	QSVQY		"#:    #a&!)c!fai/01	QSVQY	6    !A#q!%1a&111!A#q!q!f-333!q&1*a1a&1q!fX===!A#q1u+qsA.A72===!A#q1u+qsA.Aq	:	
Q1	
Aq	?   
 !A#q1u+qsA./	
Q1	
Aq		
Q1	
Aq		
Aq		
Aq	4    !Q$(aS)R///!Q$(aS)q!taxj\999#a&!)c!fai/QSVQY1F1JKL	QSVQY		"CFSVO4	QSVQY		"SVGc!f$45Q   
 3q6CF?Q.2CFAIA	4ICPQRSPSH4TUV	QSVQY	QqS	)3q6CF?Q+>?	QSVQY	QqS	)3q6CF?Q+>?[   
 3q6CF?CF2Q6Q#a&#a&8PST8TUV	QAQA	&	*SVGCFNSVCF],JQ,NO[   r<   c            	         S n S nS nS n[        U " [        S-  S-
  5      U " [        S-  S-
  5      /5      U " [        S-   5      U " [        S-   5      /U " [        S-   5      U " [        S-
  5      /U " [        S-   5      U " [        S-
  5      /U " [        S-
  5      U " [        S-
  5      //:X  d   e[        U " [        S-  S-
  5      /5      U " [        S-   5      /U " [        S-
  5      //:X  d   e[        U" [        S-  [        -  [        -
  5      U" [        S-  [        -  [        -
  5      /5      U" [        S-   5      /U" [        S-
  5      /U" [        5      U" [        5      //:X  d   e[        U " [        S-  [        S-
  S-  -  5      U " [        [        S-
  -  5      /5      U " [        5      /U " [        S-
  5      //:X  d   e[        U" [        S-  [        [        -  -   5      U" [        S-  [        [        -  -   5      /5      U" [        [        -   5      U" [        [        -   5      /U" [        5      //:X  d   e[        U" [        S-
  [        S-
  -  5      U" [
        S-
  [        S-
  -  5      /5      U" [        S-
  5      /U" [        S-
  5      U" [
        S-
  5      //:X  d   e[        U" [        S-  S-   5      /5      U" [        [        -   5      /U" [        [        -
  5      //:X  d   e[        / 5      / /:X  d   e[        U " S5      /5      / :X  d   e[        U " S	5      U " [        5      /5      U " [        5      //:X  d   eg )
Nc                 "    [        U [        5      $ r]   )r   r   es    r=   r>   )test_factor_system_poly.<locals>.<lambda>+  s
    41:r<   c                 B    [        U [        [        [        [        4   S9$ Nr   )r   r   r   r   r   r   s    r=   r>   r   ,  s    T!Qr!Q$x0r<   c                 (    [        U [        [        S9$ r   )r   r   r   r   s    r=   r>   r   -  s    DAd+r<   c                 8    [        U [        [        [        45      $ r]   )r   r   r   r   r   s    r=   r>   r   .  s    T!aAY'r<   r,   r+   r6   r-   r   )r    r   r   r   r   r   r   )pxpxabpxIpxyzs       r=   test_factor_system_polyr   )  s   	B0D
+C'Dr!Q$(|R1q\:;	AEBq1uI	AEBq1uI	AEBq1uI	AEBq1uI	@    r!Q$(|n-2a!e9+1q5	{1KKKKtAqDFQJ/ad1fqj1ABC	a!e	a!e	a$q'H    r!Q$Az/2Bq!a%yMBC	A	AEH   
 tAqD1Q3J/adQqSj1ABC	a!ed1q5k"	a	H   
 tQUQUO4dAEAE?6KLM	a!e	a!ed1q5k"R   
 s1a4!8}o.CAJ<#a!e*2NNNNb!bT)))r!ug&",,,r!uben-2a5':::r<   c            	          [        [        S-  S-
  [        S-  S-
  /5      [        S-   [        S-   /[        S-   [        S-
  /[        S-   [        S-
  /[        S-
  [        S-
  //:X  d   e[        S/5      / :X  d   e[        S/5      / /:X  d   e[        S[        /5      / :X  d   e[        S[        /5      [        //:X  d   e[        / 5      / /:X  d   e[        [        S-  [        [        -  -   /5      [        [        -   /[        //:X  d   e[        [        S-
  [        S-
  -  [        S-
  [        S-
  -  /[        /5      [        S-
  /[        S-
  [        S-
  //:X  d   e[        [        [        S-
  -  [        /[        /5      [        S-
  [        /[        [        //:X  d   e[        [        [        -  [        S-
  -  [        [        -  [
        /[        [        /5      [        S-
  [        [
        /[        [        [
        /[        S-
  [        [
        /[        [        [
        /[        [        [
        /[        [        [
        //:X  d   e[        [        [        S-
  -  [        /[        [        /5      [        S-
  [        /[        [        //:X  d   e[        [        [        -  [        [        /[        [        /5      [        [        //:X  d   e[        [        [        -  [        [        -  /[        [        /5      [        /[        [        //:X  d   e[        [        [        -  [        -  [        /[        [        /5      [        [        /[        [        [        -  //:X  d   e[        [        [        -  [        -  [        /5      [        [        /[        [        /[        [        //:X  d   e[        [        S-  [        -  [        /[        [        /5      [        [        /[        [        //:X  d   eg )Nr,   r+   r6   r   r-   )r   r   r   r   r   r   r;   r<   r=   test_factor_system_condr   V  s?   qAvz16A:67	
QA	
QA	
QA	
QA	<    qc"b(((qc"rd***q!f%+++q!f%1#...b!bT)))q!taczl+Q!~===AAQQ@1#F	
Q	
QAK   
 qAE{A.4!a%aV8LLLLqsAaCy!A#q1Aq6:	
Q1	
Aq		
Q1	
Aq		
Aq		
Aq	?    q!A#wlQF3Q
QF7KKKKqsAqkAq621vh>>>qsAaCj1a&1qcAq6]BBBqs1uaj1a&1q!fq!A#h5GGGGqs1uaj)q!fq!fq!f-EEEEq!tAvqkAq621v1v6FFFFr<   c                     [         [        S-
  -  [        S-
  -  [        [        S-
  -  [        S-
  -  [        S-
  -  /n [	        U [        [        /5      [        [        S-
  S5      [        [         S5      [        [        S5      -  -  [        [         S5      [        [        S-
  S5      -  -  [        [         S5      [        [        S-
  S5      -  -  [        [        S5      [        [        S-
  S5      -  -  [        [        S-
  S5      [        [        S-
  S5      -  -  [        [        S-
  S5      [        [        S-
  S5      -  -  :X  d   e[	        [        S-
  /[        /5      [        [        S-
  S5      :X  d   e[	        [        S-
  [        S-
  -  /[        /5      [        [        S-
  S5      [        [        S-
  S5      -  :X  d   e[	        / [        /5      S:X  d   e[	        S/[        /5      S:X  d   e[	        S/[        /5      S:X  d   e[	        [         /[        /5      [        [         S5      :X  d   e[	        [         [        -  [        [         /[        [        /5      [        [         S5      [        [        S5      -  :X  d   e[	        [         [        -  [        [        -  [        -  [         /[        [        /5      [        [         S5      [        [        S5      -  [        [         S5      [        [        S5      -  -  [        [         S5      [        [        S5      -  -  :X  d   e[	        [         [        -  [        [        -  /[        [        /5      [        [        S5      [        [         S5      [        [        S5      -  -  :X  d   e[	        [         [        -  [        -  [        /[        [        /5      [        [        S5      [        [        S5      -  [        [        S5      [        [         [        -  S5      -  -  :X  d   e[	        [         S-  [        -  [        /[        [        /5      [        [         S5      [        [        S5      -  [        [        S5      [        [        S5      -  -  :X  d   e[	        [         [        -  [        -  [        [        -  [        -  /[        [        [        /5      [        [        S5      [        [         S5      [        [        S5      -  -  [        [         S5      [        [        S5      -  -  [        [        S5      [        [        S5      -  -  [        [        S5      [        [        S5      -  -  :X  d   e[	        [         [        S-
  -  [        /[        /5      [        [         S5      [        [        S5      -  [        [        S-
  S5      [        [        S5      -  -  :X  d   eg )Nr+   r,   r   TF)r   r   r   r   r   r&   r   )eqss    r=   test_factor_system_boolr     s   a!e9a!eaQiQ/Q7
8CcAq6*
1q5!a8bAh	 a8bQl"	$ a8bQl"	$ a8bQl"		$
 a!eQ<"QUA,&	( a!eQ<"QUA,&	(   q1ugs+r!a%|;;;AA/!5AE11q5RS9TTTTb1#&$...qcA3'4///qcA3'5000qcA3'2a8333q1uamaV41a2a88KKKK!QqSUAA7
1a2a8a8bAh<  a8bAh<    !  
 !QqSzAq62bAh1X1a 7" " # " !AqzAq62
1a2a8	AqBqsAJ	7    !   1Q{QF3
1a2a8	AqBq!H	8    qs1uac!enq!Qi8
1aa8bAh	 a8bAh	  a8bAh	  a8bAh		    q!a%y!nqc2	AqBq!H	a!eQ<"Q("	$  r<   c                     ^ SSK Jm  S	U4S jjn SS/SS//SS/SS//S/SS/S///nU H  n[        U5      [        U5      :X  a  M   e   [	        S5       H$  nU " 5       n[        U5      [        U5      :X  a  M$   e   g )
Nr   )randintr-   r,   c           
         > [        U 5       Vs/ s H-  n[        T" SU5      5       Vs/ s H  nT" SU5      PM     snPM/     sn$ s  snf s  snf )Nr+   r   )range)n_eqs	n_factorsmax_val_r   s       r=   generate_random_system0test_factor_sets.<locals>.generate_random_system  sU     5\
! +090E*FG*FQWQ *FG!
 	
G
s   AA
AAr+   r6   d   )r-   r,   r/   )randomr   r"   r#   r   )r   
test_casescaser   systemr   s        @r=   test_factor_setsr     s    
 Q!Q
Q!Q
q!fqcJ D!%6t%<<<<  3Z')F#'8'@@@@ r<   N)E__doc__sympy.polys.domainsr   r   sympy.core.numbersr   r   r   sympy.core.singletonr   sympy.core.symbolr	   (sympy.functions.elementary.miscellaneousr
   !sympy.polys.domains.rationalfieldr   sympy.polys.polyerrorsr   sympy.polys.polyoptionsr   sympy.polys.polytoolsr   sympy.polys.rootoftoolsr   sympy.solvers.solversr   sympy.utilities.iterablesr   	sympy.abcr   r   r   r   r   r   sympy.polysr   sympy.solvers.polysysr   r   r   r   r   r   r   r    r!   r"   r#   r$   sympy.testing.pytestr%   sympy.core.relationalr&   (sympy.functions.elementary.trigonometricr'   r(   &sympy.functions.elementary.exponentialr)   rS   rZ   r   r   r   r   r   r   r   r   r;   r<   r=   <module>r      s    < ) 5 5 " % 9 0 8 + & + ' - & & 'S S S S : ' $ = 66;rD"5/p@(
:eP*;Z+GZ3lAr<   