
    wg*                    T   d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZ d d	lmZmZmZmZ d d
lmZ d dl m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z? d dl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZH d dlImJZJmKZKmLZLmMZM d dlNmOZO d dlPmQZQmRZR d dlSmTZT d dlUmVZV d dlWmXZX d dlYmZZZ d dl[m\Z\ d dl]m^Z^m_Z_m`Z` d dlmaZa d dlbmcZcmdZdmeZe d d lfmgZgmhZhmiZi d d!l]mjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZs d d"ltmuZu d d#lvmwZw d d$lxmyZymzZzm{Z{m|Z| d d%l}m~Z d d&lmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dd'Zd( Zd) Zd* Zd+ Zd, Zd- Zd. Zd/ Zd0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Zd; Zd< Zd= Zd> Zd? Zd@ ZezdA        ZdB ZdC ZdD ZdE ZeydF        ZdG ZdH ZdI ZdJ ZdK ZdL ZdM ZdN ZdO ZdP ZdQ ZdR ZdS Z e{dT      dU        ZdV ZdW ZdX ZezdY        ZdZ Zeyd[        Zeyd\        Zezd]        Zd^ Zd_ Zd` Zeyda        Zdb Zdc Zdd Zde Zdf Zdg Zdh Zdi Zdj Zdk Zdl Zdm Zdn Zdo Zdp Zdq Zdr Zds Zdt Zdu Zdv Zdw Zdx Zdy Zezdz        Zeyd{        Zd| Zezd}        Zd~ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zeyd        Zd Zd Zd Zeyd        Zd Zd Zd Zeyd        Zd Zd Zd Zd Z d Zd Zd Zd Zd Zd Zeyd        Zd Zd Z	d Z
d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%y)    )Qask)Add)Tuple)
DerivativeFunctiondiff)Mod)Mul)GoldenRatioTribonacciConstant)EFloatIRationaloopi)EqGtLtNe)S)DummySymbolWildsymbols)sympify)binomial)Absarg	conjugateimre)LambertWexplog)atanhcoshsinhtanh)floor)cbrtrootsqrt)	Piecewise)acosasinatanatan2cossecsintan)erferfcerfcinverfinv)Integral)AndOr)Matrix)SparseMatrix)Poly)sstr)denom)nsolvesolvesolve_linear)nfloat)solve_linear_systemsolve_linear_system_LUsolve_undetermined_coeffs)_filtered_gens_solve_lambert_lambert)
_invertunradchecksolposify_ispow	det_quickdet_perm	det_minor_simple_densdenoms)cm)CRootOf)slowXFAILSKIPraises)verify_numerically)abcdekhpxyztqmRc                 P    t         t        |       j                  |fi |d      S )NT)	full_prec)rB   r   evalf)rc   noptionss      e/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/sympy/solvers/tests/test_solvers.pyNSrt   /   s&     
  .g.$??    c                     t        t        d      \  } } | t               |t              }}t        |t        z   dz
  ||z
  dz
  g|t        |      ||dz   t        | dz
  ik(  sJ t        ||t        z  z   dz
  ||gd      |d|digk(  sJ t        ||dz  t        z  z   t        z
  ||gd      |t        |digk(  sJ t         | d      dz
  t        dz   gd      t        d	 | d      digk(  sJ y )
Nfg         Tdictr      )mapr   rg   rE   rh   )fgfxgxs       rs   test_swap_backr   3   s
   xDAqqT1Q4B"q&1*b2gk*B26	R!VQa ! ! !bdQRt4"aQ8HHHHb!eAg!B8$7RBN;KKKK!A$(AE".Ar1Q43C2DDDDru   c                 H    	 t        | |       y# t        t        f$ r Y yw xY w)NTF)rE   	TypeErrorNotImplementedError)eqsymbols     rs   guess_solve_strategyr   =   s,    b&*+ s    !!c            	         t        t        d      t              sJ t        t        t              sJ t        t        t        z   t              sJ t        dt        z  t              sJ t        t        t	        d      z   t              sJ t        t        dt        dd      z  z   t              sJ t        t        dz  dz   t              sJ t        t        dz  dz
  t              sJ t        t        t        z  t        z   t              sJ t        t        t        t              z  t        z   t              sJ t        t        t        dz  z
  t        dz  t	        dt        dz  z
        z  z  t              sJ y )N   rx   r}   rz   )r   r   rg   r_   r.   r   rh   r%    ru   rs   test_guess_polyr   E   s#   1q***A'''Q+++1a)))T!Wa000QA%6!6:::A1...A1...1q!---3q6Aq111	
QTAqDa!Q$h'(!- - -ru   c                  Z   t        t        t              dz   t              sJ t        t        t        dd      z  t        t              z   dz   t              sJ t        dt        z  dt        t              z
  z  t              sJ t        t        dt        z  z   t        z   t              sJ y )Nr}   rz   r   )r   r.   rg   r   rh   r   ru   rs   test_guess_poly_cvr   U   s    a1a111	8Aq>DG#a'- - -1a$q'k!2A777  QqS1a111ru   c            	      b   t        t        dz   t        dz  dz   z  t              sJ t        t        t        dz  z
  t        dz  t        dt        dz  z
        z  z  t              sJ t        t        t              dz   t        t	        dd      z  t        t              z   dz   z  t              sJ y )Nr}   rx   rz   )r   rg   rh   r.   r   r   ru   rs   test_guess_rational_cvr   `   s    !a%!Q$(!3Q777	
QTAqDa!Q$h'(!- - -  $q'A+8Aq>0ADG0Ka0O!PRSUUUru   c                     t        t        t              dz   t              sJ t        dt        t              z  t        z
  t              sJ t        t        t              t        t               z   t        z
  t              sJ t        dt        z  dz
  t              sJ t        dt        z   dz   t              sJ t        t
        t        t        z  z  t        z
  t              sJ y )Nr}   rx   rz   
   )r   r%   rg   r4   rh   r_   r`   r   ru   rs   test_guess_transcendentalr   k   s    Q!Q0003q6Aq222AaR1a" " "1r	1---A
A...!Q$
A...ru   c            
      *   t         dt        dit         dt        z  z   dz
  dt         z  dt        z  z   dz
  ft        fdt        t        t
        t        fD              sJ t        t         t         t              k(  sJ t        t        t         dz  dz
              t        d      t        d       hk(  sJ t        t         t        z   d	z
  t         t        z
  dz
  g      t         dt        d
ik(  sJ t        t         t        t               z
  t         d      t        t               gk(  sJ t        d      t        dt               cxk(  rg k(  sJ  J t        ddg      g k(  sJ t        t        d      gt         g      g k(  sJ t        t        d        t        t        d        t        t         t         t        t        g      dgk(  sJ t        t        d        t        t        d        t        t         t         t        t        g      dgk(  sJ t        t        d	z
  t        h      d	gk(  sJ t        t        d	z
  t         t        h      t        d	igk(  sJ t        t         t        z   d	z
  t         t        g      d	t        z
  t        fgk(  sJ t        t         t        z   d	z
  t         t        gd      t         d	t        z
  igk(  sJ t        t         t        z   d	z
        t         d	t        z
  igk(  sJ t        t        t        t         z  z   dz
  t        t        g      t        dt        dik(  sJ t        t        t        z   t         z  t        z   t         z
  t        t        g      t        t          t        t         ik(  sJ t        t         dz  z  t        t         z  z   t         z   t         t"        z
  dz  dt$        z  t&        z  z   dz  t$        z  z
  } t        | t"        t$        t&        gt        t        t         g      }|t"        t         dt        z  z  t&        dt        z  t         z  t        dz  z
  dt        z  z  t$        ddt        z  z  ik(  sJ t        | t"        t$        t&        gd      |gk(  sJ t        | t"        t$        t&        gd      t"        t$        t&        gt         dt        z  z  ddt        z  z  dt        z  t         z  t        dz  z
  dt        z  z  fhfk(  sJ t        | t"        t$        t&        gt        t        t         gd      t"        t         dt        z  z  t&        dt        z  t         z  t        dz  z
  dt        z  z  t$        ddt        z  z  ik(  sJ t        t        z   t         z  t        dz  z
  dz   t        t        f}t        | t        dz  t        t         z  z
  dz
  t         z  t        fgk(  sJ t        t        t         z  t        dz  t         dz   z  z   d	t         z  z
  dt         z  z
  t        t        d      t        t        dz   t         z  d	t         d	z  z  z   dt         dz  z  z   dt         z  z   dz   t         dz  t         dz   z  z  igk(  sJ t        ddt         z  t        z
  t        t              z   z        g k(  sJ t        t(        d        t        t        t        t               t         z   g      t         t+        d       t        digk(  sJ t        t        t               t         z
  t        t              t        z
  f      t         t+        d
       t        t+        d
       igk(  sJ t        t        t        t               t         z   gt         t              t+        d       dfgk(  sJ t        t         dz  t,        z
  t,              t         dz  gk(  sJ t        g t         g      g k(  sJ t        t         dz  dz
  t        dz
  ft         t              ddgk(  sJ t        t         dz  dz
  t        dz
  ft        t               ddgk(  sJ t        t         dz  dz
  t.        z   t        dz
  t.        z
  ft        t.        t        t         d      t        t.        t        t         gt        t.        t.        dz   t        dt.        z
         ft        t.        t.        dz   t        dt.        z
        fhfk(  sJ t        t         t        z   dz  dz
  t         t        z   dz
  g      t         t         dz   igk(  sJ t        t         t        z   dz
  dt         z  dt        z  z   dz
  f      t         t         dz   ik(  sJ t        t1        t         dz  d            dgk(  sJ t        dt1        t         d      gt         gd      t         digk(  sJ t        t1        t         t               t1        t         d      t1        t         t         dz         gt         gd      g k(  sJ t        t1        t         t         dz         t         dk  gt               rJ t        t1        t         d      t         dz   dk  g      t1        t         d      k(  sJ t        t1        t         t               t1        t         t         dz         gt               g k(  sJ t        dt               g k(  sJ t        t         dz
  dgt         gd      g t               fk(  sJ t        t         t         t        z   dz
  z  dz  t        dz
  t         z  t        z  dt        z  z   gdd      t         t        gdt        z
  t        ft         dfhfk(  sJ t	        t        t        dz
  t         t        d	      t.        z  z
  f      j3                               t         t        gk(  sJ t        t         dz
  t         gt        t         fd      t        t         gt               fk(  sJ t        t         dz
  t         gt        t         hd      t         t        gt               fk(  sJ y ) Nr}   ry   rx         c              3   Z   K   | ]"  }t         |      t        t              k(   $ y wNrE   rg   rh   ).0	containeranseqss     rs   	<genexpr>z"test_solve_args.<locals>.<genexpr>{   s'      'iuYs^Q*c1 's   (+r   rz   Timplicit*   c                  V    t        t        dz
  t        dz   ft        t        t              S Nrz   rx   r   r   ru   rs   <lambda>z!test_solve_args.<locals>.<lambda>       ua!eQU^Q1= ru   c                  4    t        t        t        t              S r   rE   rg   r   ru   rs   r   z!test_solve_args.<locals>.<lambda>       uQ1~ ru   excluder   c                  V    t        t        dz
  t        dz   ft        t        t              S r   r   r   ru   rs   r   z!test_solve_args.<locals>.<lambda>   r   ru   c                  4    t        t        t        t              S r   r   r   ru   rs   r   z!test_solve_args.<locals>.<lambda>   r   ru   r{   setF)r   simplify      c                      t        t        t              t        t              z   t        t              z   t        t              z         S r   )rE   r%   rg   r6   rh   r   ru   rs   r   z!test_solve_args.<locals>.<lambda>   s)    U3q6CF?SV+Cc!f+L%M ru   )r~   rx   )rx   rx   )rx   r~           )r   check)rg   rh   alltuplelistr   	frozensetrE   r   r   r%   r.   r]   
ValueErrorr_   r`   ra   re   rf   rd   r   r$   r   ri   r   keys)r   solargsr   r   s      @@rs   test_solve_argsr   w   s	   b!Q-Cqs7Q;1qs
R
(C '	c9%' ' ' 'a#s***uQTAXAaD1Q4%=000!a%!)QUQY'(Q1bM999SVQ.3q6(:::9b!******!Q=B$q'A32%%%
:=>
:-.A1v&1#---
:=>
:-.A1v&1#--- Q###QAQF8+++ QQF#Q
|333QQF.Aq1u:,>>>QAE
|+++QqS1q!f%!Q1555!a%Q"QF+A2q!}<<<	
1a4!A#	a!eaZ!A#a%/214	4B
Q1I1ay
1C1qb!A#hAaCEAqDL1Q3#7AqsGDDDDaAYT*se333aAYD)
Qqb!A#h1Q3!A#a%!Q$,1)=>?@A A A aAYAq	EB	
QB!Ha!A#a%!Q$,1-q!QqS':; ; ; E19q!taA%D$<adQqSj1na/34444 1q!tQU|#ac)AaC/ADA
q!teAg!Q$AqD(1Q3.3adAElC	DEF F F AaC!Gc!f$%&",,,
MO !SVaZ!q8A;,1&=%>>>>	Q!SVaZ "'(8B<-Xb\M&J%KL L L !SVaZ!Q'hqk\1,=+>>>>ABAqD6)))aS>R!Q$(AE"Aq)gv->>>>!Q$(AE"Aq)gv->>>>!Q$(Q,A	*Aq!QD 
!Ql	
Aq1utAE{l#	
Aq1ud1q5k"$ %% % % 1q51*q.!a%!),-1qb1f+>>>!a%!)QqS1Q3Y]+,QBF;;;AqD#C5((($1a!A3T21vh>>>"Q(Bq!HbAaCj1A3TBbHHHbAaCj!a%(!,,,"Q(AaCE"#r!Qx///"Q(Bq!A#J'+r111q>R!a%!$/B;>>>1"a!eai."QUAIaK!A#$56$%q6QUAJA+?"@A A A q1ua$q'!)m,-2245!Q???!a%aV.Aq635/AAA!a%aV.Aq635/AAAru   c            
         t        dt        z  dz
  t              t        dd      gk(  sJ t        t        dt        z  d      t              t        dd      gk(  sJ t	        t        t        dz  dz
  t                    t
        j                   t
        j                  hk(  sJ t	        t        t        t        dz  d      t                    t
        j                   t
        j                  hk(  sJ t        t        t        dz  z
  t              t        dz  gk(  sJ t        t        d      } t        t        t        dz  z
  t              | |  dz  t        d      t        z  | z  dz  z
  |  dz  t        d      t        z  | z  dz  z   gk(  sJ t        d      \  }}}}}}t        |t        z  |t        z  z   |z
  |t        z  |t        z  z   |z
  gt        t              t        ||z  ||z  z
  ||z  ||z  z
  z  t        ||z  ||z  z
  ||z  ||z  z
  z  ik(  sJ t        t
        j                  t        t
        j                  i}t        t        t        z
  t        t        z   ft        t              |k(  sJ t        t        t        z
  t        t        z   ft        t        f      |k(  sJ t        t        t        z
  t        t        z   ft        t        g      |k(  sJ t	        t        t        dz  dt        z  z
  dz
  t                    ddt
        j                  z  z   t        d      ddt
        j                  z  z
  hk(  sJ t	        t        t        dz  dz
  dz  t        z
  t                    t        dt        t              z         t        dt        t              z          t        dt        t              z
        t        dt        t              z
         hk(  sJ y )Nrz   rx   r}   a11,a12,a21,a22,b1,b2r   r   r~   )rE   rg   r   r   r   r   Onerh   r-   r.   r   r   ZeroHalfr_   )rxa11a12a21a22b1b2solutions           rs   test_solve_polynomial1r      s?   1q!!Q 0000AaCQHQN#3333uQTAXq!"vquuo555uR1a[!$%155&!%%888QT1!Q$'''	aBQT1
RCEDGAIbLN"RCET!WQYr\!^$;"= = = =!()@!ACc3B#a%#a%-"$c!ec!emb&891a@BR#c'CG"34BR#c'CG"34	

 
 
 1661aff%H!a%QA'8333!a%Q!Q(H444!a%Q!Q(H444uQTBqD[1_a()
QY	!
QY.    uadQh]Q&*+	a$q'k	T!d1g+..!d1g+a$q'k!2 2	44 4 4ru   c                  .    t        dt              g k(  sJ y )Nr   r   r   ru   rs   test_solve_polynomial2r     s    A;"ru   c                     t        t        t              dz
  t              dgk(  sJ t        t        t              dz
  t              dgk(  sJ t        t        t        dd      z  dz
  t              dgk(  sJ t        t        t        dd      z  dz
  t              dgk(  sJ t        t        t              t        t        dd      z  z   t        t        dd      z  z   t              dgk(  sJ y)	z
    Test for solving on equations that can be converted to a polynomial equation
    using the change of variable y -> x**Rational(p, q)
    r}   rx   r   r   rz      r   N)rE   r.   rg   r   r   ru   rs   test_solve_polynomial_cv_1ar     s    
 $q'A+q!aS((($q'A+q!aS(((!Xa^#a'+t333!Xa^#a'+t333a1hq!n,,q(1a./@@!DKKKru   c            
      T   t        t        dt        z  dt        t	        t              z  z
  z  t                    t
        j                  dt        dz  z  hk(  sJ t        t        t        t        t        d      dz
  z  t                    t
        j                  t        d      hk(  sJ y )Nr   r}   rx   rz   r   )r   rE   rg   r_   r.   r   r   r-   r   ru   rs   test_solve_polynomial_cv_1br     sw    uQqS!aQi-(!,-!&&!AqD&1AAAAuQQ
Q'+,2???ru   c                  z   t        t        dt        z  z   dz
  t              t        j                  t        t        d      z  dz  z   t        j                  t        t        d      z  dz  z
  gt        j                  t        t        d      z  dz  z
  t        j                  t        t        d      z  dz  z   gfv sJ y)z
    Test for solving on equations that can be converted to a polynomial equation
    multiplying both sides of the equation by x**m
    r}   rz   rx   N)rE   rg   r   r   r   r.   r   ru   rs   test_solve_polynomial_cv_2r     s    
 QqS1a 66Ad1gIaK!DG)A+!5	666Ad1gIaK!DG)A+!5	6	88 8 8ru   c                     t         dz  dt         dz  z  z
  dt         dz  z  z
  dt         z  z   dz   } t        | d	      }|D ]B  }| j                  t         |j                               j                         }t	        |d
      rBJ  t         dz  dt         dz  z  z
  dt         dz  z  z
  dt         z  z   dz   } t        |       }|D ]  }|j
                  t        k(  rJ  t        t        t         dz  dt         dz  z  z   dz         d
   d      t        t         dz  dt         dz  z  z   dz   d
      j                         k(  sJ y )Nry   n   rz   7   rx   i	  i  Fr   r   r   r         exponent)rg   rE   subsrq   tnfuncrY   rG   r   srress       rs   test_quintics_1r   "  s8   	1s1a4x"QT'!DF*S0AauA ffQ  "#qzz 	
1r!Q$w1a4"Q$&+AaA !vv   ! %1qAv)*1->1qAv!1%'')* * *ru   c                     t         dz  dt         z  z   dz   } t        | d      }|D ]B  }| j                  t         |j                               j                         }t	        |d      rBJ  t         dz  dt         dz  z  z
  dt         dz  z  z
  d	t         z  z   d
z   } t        |       }|D ]  }|j
                  t        k(  rJ  t        t         dz  dt         dz  z  z
  dt         dz  z  z
  t         z   dz
        t        t         dz  dt         dz  z  z
  dt         dz  z  z
  t         z   dz
  d      t        t         dz  dt         dz  z  z
  dt         dz  z  z
  t         z   dz
  d      t        t         dz  dt         dz  z  z
  dt         dz  z  z
  t         z   dz
  d      t        t         dz  dt         dz  z  z
  dt         dz  z  z
  t         z   dz
  d      t        t         dz  dt         dz  z  z
  dt         dz  z  z
  t         z   dz
  d      gk(  sJ y )Nry   r   r   Fr   r   rz   rx   r   r   r   r}   r   )rg   rE   r   rq   r   r   rY   r   s       rs   test_quintics_2r   9  s   	1r!tbAauA ffQ  "#qzz 	
1r!Q$w1a4"Q$&+AaA !vv   ! A!Q$1a4'!+a/01qAv!Q$&*Q.21qAv!Q$&*Q.21qAv!Q$&*Q.21qAv!Q$&*Q.21qAv!Q$&*Q.254 4 4 4ru   c                      t         dz  t         dz  z   dt        dd      z  z
  } t        |       t        |        cxk(  rg k(  sJ  J y )Nry   rz   rx   r}   )rg   r   rE   rh   s    rs   test_quintics_3r   M  sF    	1q!ta!Q''A8uaRy&B&&&&&ru   c                      t        t        dz  dt        z  z
  dz         } t        d | D              rt        |       dk(  sJ y )Nr   rx   c              3   <   K   | ]  }t        |t                y wr   )
isinstancerY   r   is     rs   r   z&test_highorder_poly.<locals>.<genexpr>U  s     3!z!W%3   )rE   rg   r   lenr   s    rs   test_highorder_polyr   R  s<    
1qs
Q
C3s33CAEEru   c            	          t        t        t        dz  z
  t        dz  t        dt        dz  z
        z  z  t              t        dz  gk(  sJ y)z!Test solve for rational functionsrz   rx   r}   N)rE   rg   rh   r.   r   ru   rs   test_solve_rationalr   X  s?    A1H!Q$QAX!68!<AFFFru   c                  b    t        t        t              dz
  t        z         dt        z   gk(  sJ y)z)Test solve for simple conjugate functionsrz   N)rE   r!   rg   r   r   ru   rs   test_solve_conjugater   ]  s(    1q1$%!a%000ru   c            	         t        t        dz  t        dz  z
  t        t        d      t        t         it        t        igk(  sJ t        t        dz  t        dz  t        t              z  z
  t        t        d      t        t         t	        t        t                    z  it        t        t	        t        t                    z  igk(  sJ y )Nrx   Tr{   )rE   rg   rh   r%   r.   r   ru   rs   test_solve_nonlinearr   b  s    A1a.Ar7QF2CCCCA1SV#Q51qbc!fo:N;<aSVn:M:O O O Oru   c            	          t        d      } t        t        | dz  d| dz  dz
  z  z
  dd| dz  dz
  z  z
        |       g k(  sJ t        t        | d| z  z   d| z        |       g k(  sJ y )Nrg   rx   r}   r   )r   rE   r   rg   s    rs   test_issue_8666r   h  su    AAqD1adQh<'Q1q\)9:A>"DDDA!GQqS!1%+++ru   c                      t        ddt        dz  z  dt        z  z   z  dz
  t              t        dd      t        j                  gk(  sJ y )Nr   rx      r   )rE   rg   r   r   r   r   ru   rs   test_issue_7228r  n  s@    Q1X!^$q(!,"a!&&0IIIIru   c                      t        t        t        dz
        t        t        dz         z   t              t        d      gk(  sJ y )Nrz   r   )rE   r&   rg   r.   r   ru   rs   test_issue_7190r  r  s2    QqSC!H$a(T"XJ666ru   c                      t        d      } | t        | dz  dz         z  }|j                  |       }t        ||       g k(  sJ y )Nrg   rx   r}   )r   r.   r	   rE   )rg   r   f_diffs      rs   test_issue_21004r  v  sB    A	$q!tAv,AVVAYFr!!!ru   c                      t        d      } t        t        t        | t        | d      | dkD  z  f      d            }|dgk(  sJ t	        t        t        | t        | d      | dkD  z  f      d      | d      }|du sJ y )Nrg   r   r}   r   T)r   rE   r   r/   rP   )rg   r   s     rs   test_issue_24650r	  }  s|    AbAr!Qx1q5123Q78A8O8Iq"Q(a!e"456:A1EA99ru   c            	      ~   t        d      \  } }}}}t        | dz
  | |z
  | d|z  z
  |dz
  g| |g      g k(  sJ t        | dz
  | |z
  | d|z  z
  | dz
  g| |g      g k(  sJ t        | dz
  | dz
  | |z
  | d|z  z
  g| |g      g k(  sJ t        | d|z  z   dz
  d| z  d|z  z   dz
  g| |      | d|dik(  sJ t        dd||dz   z  |dz   dz  dg|dz   |dz   d	|z  dz
  |dz    dgg d
g      }t        || |||      | || dz
  z  |z  |d||| dz
  z  |z  ik(  sJ t        | |z   |z   |z   | |z
  g| |||      | | || ik(  sJ y )Nzx, y, z, t, nr}   rx   ry   r   r   r   r   r~   )r   r   r}   r   r   )r   rE   r?   rH   )rg   rh   ri   rj   rq   Ms         rs   test_linear_systemr    s   O,MAq!Q!a%QAaCQ/!Q8B>>>!a%QAaCQ/!Q8B>>>!a%QAq1Q3w/!Q8B>>>!ac'A+r!taczB/A61b!Q-GGGAq!a%y1q51*a0QAr!tax1q515 " 	#A q!Q1-	
Ar!tHQJ1aQBqD!,- - - !a%!)a-!a(!Q15!aRQBGGGru   c                      t        g dg dg dg dg      } t        | t        t        t              t        dt        dt        dik(  sJ y )N)r   g      .@      $@g     @)r}   r}   r}   g      Y@)r   r  g      @g      i@)g      r   r   r   r   g      Ng      d@)r?   rH   rg   rh   ri   )r  s    rs   test_linear_system_xfailr    sG     	))))+ 	,A
 q!Q*q!Qq%.HHHHru   c            
      0   t        d      } t         | dd       | dd      z    | dd      z    | dd      z    | dd        | dd      z
  g | dd       | dd       | dd       | dd             | dd       | dd        | dd       | dd       ik(  sJ y )Nr_   r   r}   )r   rE   )r_   s    rs   test_linear_system_functionr    s    A!Aq'AaG#a1g-!Q7!Aq'AaG9KL	!Q1a!Aq'1Q7,01!Q!Aq'1Q7QqRSWH/UV V Vru   c                  Z    d } t        dd      D ]  } | |      \  }}t        ||        y )Nc                 *  
 d| z  dz
  }t        dd      \  
}}t        dj                  |       d      }t        dj                  |       d      }t        dj                  |dz         d      }t        
fd	t        |      D              }g }t	        |       D ]r  }	|j                  |j                  
|	      j                  
|i      ||	   z
         |j                  |j                  
|	      j                  
|i      ||	   z
         t ||fS )
Nrx   r}   z	x, x0, x1Trealzy0_:{}zy1_:{}zc_:{}c              3   4   K   | ]  \  }}||z  z    y wr   r   )r   ocoeffrg   s      rs   r   zLtest_linear_system_symbols_doesnt_hang_1.<locals>._mk_eqs.<locals>.<genexpr>  s     ;(!U5A:;s   )r   formatsum	enumeraterangeappendr	   r   )wyorderx0x1y0sy1sra   exprr   r   rg   s             @rs   _mk_eqsz9test_linear_system_symbols_doesnt_hang_1.<locals>._mk_eqs  s     "qKd3	2rhoob)5hoob)5GNN57+$7;il;;r 	?AJJtyyA++QG4s1v=>JJtyyA++QG4s1v=>	? Avru   r}   r  )r  rE   )r%  rq   r   ra   s       rs   (test_linear_system_symbols_doesnt_hang_1r&    s4    , 1c] Qc1ru   c                     t        g dg dg dg dg dg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg      } t        d      x}\  }}}}}}}}	}
}}}}}}}}}}i |t        d       dz  |t        d       dz  |t        d       dz  |t        d      dz  |t        d       dz  |t        d      d z  |t        d!       dz  |	t        d"       d#z  |
t        d$      dz  |t        d%       dz  |t        d&       dz  |t        d'       d(z  |t        d)      d(z  |t        d*       dz  |t        d+      d,z  |t        d-       dz  |t        d.      d z  |t        d/       dz  |t        d0      dz  i}t        | t        |d1z         z        }t	        ||      |k(  sJ t        d2      }t        || z  t        |d1z         z        }t	        ||      |k(  sJ y )3N)B      '   2   X   (   %   `   r   A         r.  H   r      r   r.     L   )r   ]   "   b   ;   ,   C   J   r=  ^   G   =   <      r   rx   9   r     N   )r4  [   rC     @   r0  r)  5   M   r8  U   :   W   r*  r*  r   $   r<  rF  rz   )r=  F   r   rI  D   +   V   S   Q   r3     .   r<     r:  rU  rE  r*  ?   r   )E   r-  r<     r<  r-  rW  rG  r7  r;  rV  Y   >   r1     &      r   r   rT  )r+     r=  r6  r8  -   r4  r6  r5  r5  r2  c   a   R   r  rV  rb  rC  rP  #   )rL  r_  ra  r,  r   rH  	   r8  Z   rd  rW  )   rQ  rT  ra  rS  r`  r,  r)  r*  )r   rZ  rO  rP  r   !   rH  rT  rS  r   rR  K   rR  rW  rJ  r8  r\  r3  r   r)  )r   r  rx   r3  r?  4   r/  ry       3   r1  rN  O   r,  rU  rJ  rD     ri  rG  )r4  r1  r]  rK  rT  r*  rX  r5  r4  r   r   1   r.  r(  r^  rG  rz   r?  r@  rm  )rD  rd  P   rp  ro  rK  r}   r.  rx   r=  6   rd  ro  /   rr  rf  re  r   rb  r-  )r   rp  rd  rF  r7  rC  ra  rU  ra  rc  r   r9  0   rk  r(  r)  r\  rr  rc  r.  )r\  rB  I   rI  rk  rR  r5  r^  r   r=  \   r^  rc  rO  r?  rD  ro  rg  r<  ra  )rx   rl  rB  r)  r?  r.  rU  r?  ry   rh  rc  r0  r7  rG  r0  ra  rU  r,  rY  r+  )r-  8   r}   rD  rn  r9  rn  r\  r.  r5  ra  rs  rz   r}   rl  r=  r9  re  T   rl  )ri  r   rM  rn  r0  rf     rX  r)  r4  rV  r5  r=  r   rD  r/  rx  rF  r7  r}   )rc  r_  r   rk  r}   rx   r+  ry  rk  r6  r4  rd  rh  ru  rm  rn  rG  rz   rd  r/  )r-  r5  rk  r   r   r?  rw  rE  rd  ry   rD  rt  r}   ro  r   r_  r+  r6  rR  rk  )r^  r[  rS  rQ  rD  rk  rg  rJ  rC  r   r<  r   rT  r,  rt  r/  r,  rL  ry  rz   zx:19l	   fXj"b!SBs= l	   0e7HPg%O0 l   B> tsypY/l   s LYr%9s;Ll   eAnA&d%$I%%l	    2$(Jsgw l   ydx#ZcCjGY_l	   `Jn +OKa l	   I\<e:B	W9P l	   
 _JawoZ% l	   :N1S:le)B l	   d/%pYA7qm l	   m:.v,&WCa0 l   xmKqe@ Agd5l   [iozkz l	   Nn:!=El2 l	   [R!`8rqw+ l	   [fPo/k#8o	 l	   KdLJw0jG3Y)9r l	   Rlx`[6gI l	   vJ1vBT l   xcyki&_#Ol   )]yRH--TWl   ISsf
rWl   
t[TFl	   \CQl2GB3 l	   1]* }ckkw l	   ]bSE:_jVH}S )r}   rh   )r?   r   r   r   rE   r   )r  symsr   r!  x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16x17x18r   r   rh   s                           rs   (test_linear_system_symbols_doesnt_hang_2r    s   XXXXXXXXXXXXXXXXXXX'Z 	[A* PWW]^DL2bBr"R2bSSSS
a5667\\
a3445YY 	a4556[[ 	a456[[	
 	a5667]] 	a567\\ 	a5667\\ 	a3445YY 	a567\\ 	a6778^^ 	a6778^^ 	a5667\\ 	a567\\ 	a4556[[ 	a456ZZ  	a4556[[!" 	a567\\#$ 	a5667\\a567]]'C, q6$+&&
'Cds"""sA
q1uvdTk**
+Cds"""ru   c            
         t        d      } t        g dddd| z  dgdd| dz  dgg      }t        |t        t        t
        g      t
        d| dz  d	| z  z   z  t        dd
| z  | dz  d	| z  z   z  z
  t        d| z  | dz  d	| z  z   z  ik(  sJ y )Nrq   )r}   rx   r   r}   r}   rz   rx   r   r   r   r_  r   r   )r   r?   rI   rg   rh   ri   )rq   r  s     rs   test_linear_systemLUr    s    sAq!QqS!nq"adA.>?@A!!aAY/Ar1a4"Q$;7G23QAq!tbd{9K5K23QqS!Q$A+5F4H H H Hru   c                      ddl m} m} t        t	        t
              dz
  t
              t        d      gk(  sJ t        t        | t
        z  |z   t	        t
              dz
  z  t
                    | | z  t        d      hk(  sJ t        t        t
              t        z
  t
              t        t               dt        z  z   t        t              gk(  sJ t        dt        t
              z  t        z
  t
              t        t        dz         dt        z  z   t        t        dz        gk(  sJ t        t        t        t
              t        t
                    t
              t        dz  gk(  sJ t        t        t	        t
              t	        t
               z   t        z
  t
                    t        t        dz  t        t        dz  dz
        dz  z
        t        t        dz  t        t        dz  dz
        dz  z         ht        t        t        t        dz  dz
        z
        t        d      z
  t        t        t        t        dz  dz
        z         t        d      z
  ht        t        dz  t        t        dz
  t        dz   z        dz  z
        t        t        dz  t        t        dz
  t        dz   z        dz  z         hfv sJ t        t	        t
              dz
  t
              t        d      gk(  sJ t        t        t	        t
              d      t
              t        d      gk(  sJ t        t        t
              dz
  t
              t	        d      gk(  sJ t        t        dt
        z        dz
  t
              t        dd      gk(  sJ t        dt
        dz   z  t
              g k(  sJ t        ddt
        z
  z  t
              g k(  sJ t        t
        dt
        z  z   t
              t!        t        d             t        d      z  gk(  sJ t        dt
        z  dz   t        dt
        z  dz
        z   t
              t        dd      t!        dt	        t        dd            z  dz        dz  z   gk(  sJ t        dt
        z  t        dt
        z        z   t
              t!        t        dd            dz  gk(  sJ t        t        dt
        z  d	z   d	t	        t
              z   z  t
                    t#        d
      t        d	      t        t$        z  z   hk(  sJ dt	        dt
        z  dz         z  dz
  t        t
              }t'        |      dk(  rt)        fd|D              sJ t        dt        dt
        z  dz         z  dz
  t
              t	        t        dd            dz
  dz  gk(  sJ t        t	        t
              dz   t
              t        t$        z  gk(  sJ ddt
        z  dz   dz  z  dddt
        z  dz   z  z  z
  t        t
              }t        d       }dt        dd      z  }t        dd|z  dz  z        }t        d      }t        d      }|t        |dz
        z  }	|dz   }
ddt        d      z  z  }| }|t        |dz
        z  }|dz   }||dt!        ||	 |
z   z        z  z
  z  ||dt!        ||	|
z   z        z  z
  z  ||dt!        |||z
  z        z  z
  z  ||dt!        |||z   z        z  z
  z  ||dt!        t        dd|z  dz  z               z  z
  z  g}||k(  sJ |       t        j+                         t
              |k(  sJ t        t,        t        t
              z  t        z
  t
              t        t        t,        z         dt        z  z   t        t        t,        z        gk(  sJ t        t,        t        dt
        z        z  t        z
  t
              t        t        t,        z         dz  t        z   t        t        t,        z        dz  gk(  sJ t        t,        t        t        t
                    z  t        z
  t
              t        t/        t        t        t,        z              z
  t/        t        t        t,        z        dt        z  z
        t        z   t/        t        t        t,        z        dt        z  z
         t/        t        t        t,        z              gk(  sJ t        t,        t        t
              z  t
              t        dz  t        t        dd      z  gk(  sJ t        t        |t
        z  | t
        z   z  z
  t
              |  t        z  t        |z
  z  g| t        z  |t        z
  z  gfv sJ t        t        |t	        | t
        z        z  z
  t
              | t        t        |z        z  gk(  sJ t        t        |d| t
        z  z   z  z
  t
              |t        z
  | t        z  z  gt        |z
  | t        z  z   gfv sJ t        t        | t
        |z  z  z
  t
              t        | z  d|z  z  gk(  sJ t        t,        t
        z  t        z
  t
              t        t              t        t,              z  gk(  sJ t        dt
        z  dz
  t
              dt        d      t        d      z  z   gk(  sJ t        t
        t        z        t
        dit        digk(  sJ t        t
        t        z  g      t
        dit        digk(  sJ t        t
        t        z  dz
        t
        dit        digk(  sJ t        t
        t        z  dz
  g      t
        dit        digk(  sJ t        t
        t        z  t
        dz  t        dz  z
  z        t
        dit
        t         it
        t        it        digk(  sJ t        t
        t        z  t
        dz  t        dz  z
  z  g      t
        dit
        t         it
        t        it        digk(  sJ t        t	        t        d      t
        z        dt
        z  z
  t
              dgk(  sJ t        t	        t        d      t
        z        t	        t        d      t
        z        z
  t
              dgk(  sJ t1        d      t        t         t        d      t
        z        z  t         t        d      t
        z        z  z
  t
              dgk(  sJ t         t
               d      z
  t
              dgk(  sJ t         t
               dt
        z
        z
  t
              dgk(  sJ t3        t4        fd       t3        t4        fd       t3        t6        fd       t3        t6        fd       t3        t4        d        t3        t4        d        t        t        t        t
                          dt        dz  gk(  sJ t9        ddd      \  } }t;        t        t        | dt        t        |z        dz  z
        |            dk(  sJ t        t        dt
        z  z  t,        z
  t
              t        t              t        t,              z  gk(  sJ t        dt
        z        t        dt
        z        t        t
        t        dz  z
        fD ]^  }t        t        t
              t#        d      dz  z
  |t        z
  g      }|d   t           |d   t           z   j<                  rWJ ||f        t        t        d t
        z        t"        j>                  z
        t        d!z  t        d"z  gk(  sJ t        t        t
        d t        z  z
        dz
  t
              d t        z  d t        z  dt        z  z   gk(  sJ t        t        t
        t        z   t,        z         dz
  t
              t         t,        z
  t         t,        z
  dt        z  z   gk(  sJ t        t        t
        t        dz  z               t         dz  dt        z  dz  gk(  sJ y )#Nr   r_   r`   rz   rx   r   r   ry   ir  c              3   p   K   | ]-  }j                  t        |      j                  d       dk(   / ywT)chopr   Nr   rg   rq   r   r_   r   s     rs   r   z,test_solve_transcendental.<locals>.<genexpr>+  +      NQAd!;q!@ N   36r}   r   r   rf  ia	  r   r   r   c                  V    t          t        t                dd      z
  t              S Nr}   rx   r   r   s   rs   r   z+test_solve_transcendental.<locals>.<lambda>g  s    a1g!Q.?(C ru   c                  d    t          t        t                dt        z
  d      z
  t              S Nrx   r   r  s   rs   r   z+test_solve_transcendental.<locals>.<lambda>h  s#    a1g!a%.CQ(G ru   c                  b    t          t        t                dt        z
        z
  t              S Nr}   r   r  s   rs   r   z+test_solve_transcendental.<locals>.<lambda>i  s!    uQq!WqQx%7; ru   c                  T    t          t        t                d      z
  t              S r  r   r  s   rs   r   z+test_solve_transcendental.<locals>.<lambda>j  s    uQq!Wqt^Q7 ru   c            	          t        t        t              t        t        t                    z  t        t              t        t        t                    z  z   dz
        S Nrz   )rE   r)   rg   r(   r   ru   rs   r   z+test_solve_transcendental.<locals>.<lambda>p  s;    d1gd47m#d1gd47m&;;a?@ ru   c                  R    t        t        dz   t        z  t        z  dz
  t              S Nrx   rz   r   r   ru   rs   r   z+test_solve_transcendental.<locals>.<lambda>t  s    q1uqjlQ.>(B ru   za, bTF)r  negative      ?zP[2.0 - 0.318309886183791*acos(1.0 - 2.0*a), 0.318309886183791*acos(1.0 - 2.0*a)]  i  X  ) 	sympy.abcr_   r`   rE   r%   rg   r&   r   r4   rh   r0   r   r   r6   r.   r   r$   r   r   r   r   expandri   r1   r   r]   r   r   r   stris_Rationalr   )r_   r`   r   resultr   r!  r{  r|  r}  r~  r  r  r  r  r  yir   r   r   s                    @@rs   test_solve_transcendentalr    s[   Q!QCF8+++uacAgA
+Q/0aRT3q6NBBBQ!QT!WHqtOT!W#====3q6Aq!tAaCyj1R4&7ac%CCCCCFCF#Q'BqD6111uSVc1"g%)1-.AaC$q!tax.""#AaC$q!tax.""#4 	AQTAX#a&(AQTAX#a&(* 	AaC$AA'))*AaC$AA'))*,3- - - - Q!QCF8+++CFA"s1vh...Q!QCF8+++acQ"xA&7777QUQ2%%%QUQ2%%%QT18CF#3"3CF":!;;;;1q3qsQw<'+	!Q(1S#q)9%:#:1#<=a?	?@A A A1s1Q3x#!Q(@(B'CCCCuacAgCF
+Q/0QrUCFRTM4JJJJ	
3qsQw<!	B
A,Cs8q=S N# NNNN3qsQw<!#Q'S!Q-@1-Da,G+HHHHQ!QBqD6)))	
AaC!Ga<!A!aL.	(B2q\F
d)B	
HQN	B	Q2b\	B	aB	aB	DaLB	aB	
Ac!fHB
B	DaLB
q&CrAhrB38}---.rAhr27|,,,-rAhr38}---.rAhr38}---.rAhA"QK 001112	4C
 S= & =a F***3q6Aq!tAaCyj1R4&7ac%CCCC3qs8a#ac
1r(94!9Q;'GGGG3s1v;"A&
T$qs)_d4!9qt#34r9	d1Q3i!B$	d1Q3i+2 2 2 2 3q61"Q$8Aq>(9!:::: QqS!a%[!$1"Q$A,!A#q1u+(GGGGQs1Q3xZ##ac(
|333QAaC[!$1q51Q3-a!eac];K:L(MMMMQq!tVQQqSAaCL>111A1#a&Q-000AA1s1vc!f}#4"55551:1a&1a&))))!A#<QFQF++++A?1v1v....!Q$(!Q!Q 00001adQTk"#AQB!Q!Q'HHHH!A#q!tad{#$%1a&1qb'Aq6Aq6)JJJJSVAXA%q)aS000SVAXSVAX.2qc999A1SVAX;1SVAX;.2qc9991!a QC'''1!a%!$+++
 CD
 GH
:;<
:78  !A B  BC T!W1b!e*,,, 6u5DAquR3RT1,-q12Z[ [ [ QqSAq!c!fSVm_444 1Q3xAaCQAX/ =SVad1f_b1f-.Aq	CF1I%22<RH<2= T!Vqvv%&2d7BsF*;;;;QaZ1$a(T!VT!Vad],CCCCQUQY!#Q'QBFQBFQrTM+BBBB QAXRCE1R46?222ru   c            	      
   t        d      }  t        d      |       } t        d      |       }t        d      \  }}}}}}t        ||z  ||z  z   |z
  ||z  ||z  z   |z
  g||      }	|	|||z  ||z  z
  ||z  ||z  z
  z  |||z  ||z  z
  ||z  ||z  z
  z  ik(  sJ t        |dz
  |      dgk(  sJ t        d|z  dz
  |      t	        dd      gk(  sJ t        | |j
                  |       z  | |j
                  |       z  z   |z
  | |j
                  |       z  | |j
                  |       z  z   |z
  g |j
                  |        |j
                  |             }	|	 |j
                  |       ||z  ||z  z
  ||z  ||z  z
  z   |j
                  |       ||z  ||z  z
  ||z  ||z  z
  z  ik(  sJ t         |j
                  |       dz
   |j
                  |             dgk(  sJ t        d |j
                  |       z  dz
   |j
                  |             t	        dd      gk(  sJ d|z  dz
  d|z  dz
  h}
t        |
||h      |t	        dd      |dik(  sJ t        d      }t        d	      }|dz   ||      dz  z   d|z  z
  dz
  }t        |j                  |      t         ||      |            | dz    ||      z  gk(  sJ t        d      } t        d      |       }t        ||z  | |j
                  |       z  z   |z
  ||z  | |j
                  |       z  z   |z
  g| |j
                  |             }	|	 |j
                  |       ||z  ||z  z
  ||z  ||z  z
  z  |||z  ||z  z
  ||z  ||z  z
  z  ik(  sJ t        d      }t        d	      }t         ||      j                  |       ||      j                  |d      z   dz
   ||      j                  |       ||      j                  |d      z
  g ||      j                  |       ||      j                  |d            }	|	 ||      j                  |d      t        d      dz   ||      j                  |      t        d      dz  ik(  sJ t         ||      j                  |d       ||      j                  |d      z   dz
  d ||      j                  |d      z
   ||      j                  |d      z
  d ||      j                  |d      z
  g ||      j                  |d       ||      j                  |d            }	|	 ||      j                  |d      d
 ||      j                  |d      dik(  sJ y )Nrj   rg   rh   r   r}   rz   rx   r   r   r   )r   r   r   rE   r   r	   r   )rj   rg   rh   r   r   r   r   r   r   solneqnsr   Fs                rs   $test_solve_for_functions_derivativesr    s   sAaAaA!()@!ACc3B#a%#a%-"$c!ec!emb&891a@D	CFSVOc#gC/0	CFSVOc#gC/0   
 Q?qc!!!1q!!Q 0000#faffQi-#faffQi-/"4c&!&&)mq	M77  !'FAFF1I7DVQVVAYR#b&3s7SW3D EAFF1IBR#c'CG*;<? ? ? ? Qq	*qc1116166!9q&!&&),!Q0@@@@aC!GQqS1WD1vAx1~q!"====sAA	1qtQw1q AD1qM*Q!}o=== 	sAaA#a%#faffQi-'",c!eq	M//  !"FAFF1I/DVQVVAYR#b&3s7SW3D EBR#c'CG"347 7 7 7 	sAA!A$))A,11a014adiilQqTYYqRS_6TUaDIIaL!A$))Aq/+DQqTYYq!_ad1fadiilAaDFDDDD!A$))Aq/AaDIIaO3a7QqTYYq!_9LaDIIaO:11Q/123A$))Aq/1Q499QPQ?TDQqTYYq!_a11a!====ru   c                  D   t        d      } t        dz   | t              dz  z   dt        z  z
  dz
  }|j                  t              }t        | | t              j                  t                    dt        z
   | t              z  gt        dz
   | t              z   gfv sJ y )Nr   rx   r   r}   )r   rg   r	   rE   )r   r  rc   s      rs   test_issue_3725r    s    A	1qtQw1q A	q	AAaDIIaL!Aqt|n!a%16G%HHHHru   c            	          t        d      \  } }}}t        dd| |||g      }t        ddg d      }t        ddg d      }t        ||z  |z
  | |||g      | d|t        dd      |d|dik(  sJ t        ||z  |z
  g| |||g      | d|t        dd      |d|dik(  sJ t        t	        ||z  |      | |||g      | d|t        dd      |d|dik(  sJ t        ||z  ||z  z
  g| |||g      | ||t        dd      |z  ik(  sJ t        ||z  ||z  z
  g| |||g      | ||z
  |t        dd      |z  ik(  sJ t        ||z  ||z  z
  ||z  ||z  z
  g| |||g      | ||d	|d	ik(  sJ t        t	        ||z  ||z        g| |||g      | ||t        dd      |z  ik(  sJ t        t	        ||z  ||z        g| |||g      | ||z
  |t        dd      |z  ik(  sJ t        t	        ||z  ||z        t	        ||z  ||z        g| |||g      | ||d	|d	ik(  sJ y )
Na b c drx   )r   rx   r   r   )r}   rx   rz   r   r}   r   rz   r~   r   )r   r?   rE   r   r   )r_   r`   ra   rb   ABCs          rs   test_issue_3870r    s   #JAq!Qq!aAq\"Aq!]#Aq!\"A1q1aA,'Aq!Xb!_aAr+RRRR!A#'Q1aL)aAxA1aQS-TTTTAaCaAq\*q!QQAqRT.UUUU!A#!)q!Ql+1a"a9J/KKKK!A#!)q!Ql+1q5!Xa^A=M/NNNN!A#!)QqS1Q3Y'!Q161aAq!:LLLL"QqS!A#,!Q1.1aHROA<M2NNNN"QqS!A#,!Q1.1a!eQAq@P2QQQQ"QqS!A#,1Q3!-1a|<Aq!QPQ@RRRRru   c                  b   t        d      } t        t        t              dk(  sJ t        t        t        g      dk(  sJ t        t        | g      dk(  sJ t        t        t        dt        z  z
        t        t        dz  ft        dt        z  ffv sJ t        t        t        dt        z  z
  t        g      t        dt        z  fk(  sJ t        dt        z  t        z
  d      t        t        dz  ft        dt        z  ffv sJ t        dt        z  t        z
  dt        g      t        t        dz  fk(  sJ t        dt        z  t        z
  dt        g      t        dt        z  fk(  sJ t        t        dz  t        z  d      t        t        dz  fk(  sJ t        | t              | t        ft        | ffv sJ t        t	        t              dz  t        t              dz  z   dz   t        z         t        d	t	        t              dz  z
  t        t              dz  z
  fk(  sJ t        t	        t              dz  t        t              dz  z   dz   t        z   t        g      dk(  sJ t        t        t        d            t        dfk(  sJ t        ddt        z  dz
  z        d
k(  sJ t        t        dz   t        t               z  t        g      t        dfk(  sJ t        t        dz   t        t              z  t        g      t        dz   t        t              z  dfk(  sJ t        t        t        t        dz         z  t        g      t        dfk(  sJ t        dt        z  dz
        dt        z  dz
  dfk(  sJ t        ddt        dz
  z  z         t        dfk(  sJ t        t	        t              dz  z  t        t        t              dz  z  z   t        z
  }t        |      dk(  sJ t	        t              dz  t        t              dz  z   }t        |      dk(  sJ t        t        d        y )Nwr   r}   r   r   rx   rz   r   r}   r~   r   r   r   c                  6    t        t        t        d      d      S r  )rF   r   rg   r   ru   rs   r   z#test_solve_linear.<locals>.<lambda>  s    |Bq!Ha8 ru   )
r   rF   rg   rh   r4   r6   r   r%   r]   r   )r  r   s     rs   test_solve_linearr    s   S	A1'''A3'6111A3'61111qs7#AaC1ac(';;;;1qs7QC0Q!H<<<!a#AaC1ac(';;;;!aQC(Q!H444!aQC(Q!H4441Q"q!Q$i///11a&1a&!1111A	CFAI-1A56	
BQNSVQY&'( ( (A	CFAI-1A5sCvMMM1a!aV+++1Q37$...QQB!5!R@@@QA4!a%Q8KKKK#q!te*qc2q!f<<<1q!adQh]222Aq1uI&1a&000	
3q619qQ{	"Q	&Bv%%%	QSVQY	Bv%%%
:89ru   c                  h   t        t        t        dz  z  t        t        dz  z  z   t        t        z  z   dt        z  t        z  z   t        z   dz   t        t        t        gt              t        dt        dt        dik(  sJ t        t        t        z  t        t        dz   z  z   dt        z  dz   t        dz  t        z   z  z
  t        t        gt              t        dt        dik(  sJ t        t        dz   t        z  t        dz  z  t        dz   t        z  t        dz  z  z   t        dz   t        z  t        z  z   t        dz   dz  t        z  t        z  z   t        dz   dz  z   t        dz   z  t        t        t        gt              t        dt        dt        dik(  sJ t
        t        t
        z  t
        t        t
        z  z  }}} t        | z  t        |z  z   t        |z  z   | z
  d|z  z
  d|z  z
  }t        t        t        f}t        t
        f}t        ||      t        dt        dt        dik(  sJ t        |||      t        dt        dt        dik(  sJ t        ||g| t        dt        dt        dik(  sJ t        t        t        z  t        z   dz
  t        g      g k(  sJ t        t        dz  t        z  dt        z  z
  t        g      t        dit        digk(  sJ t        dt        g      g k(  sJ t        dt        gd	      g k(  sJ t        dt        gd
      g i fk(  sJ t        dt        g      g k(  sJ t        t        z  dt        z  z
  t        z   dz
  }t        t        h}t        ||t              t        dt        dik(  sJ t        ||t        d
      t        t        gdhfk(  sJ t        t        t        t        z        t        dt        z        z
  t        f      J t        t        t        z  t        t        z  z   dt        z  z
  t        t        f      t        dt        z
  ik(  sJ y )Nrx   r}   r~   r   rz   r   r   Tr{   r   )rx   rz   )rJ   r_   rg   r`   ra   rh   r6   )XYZr   coeffsrz  abeqr   s           rs   test_solve_undetermined_coeffsr    s   $	!Q$1a4!A#!A%)A-1ay!
Q1b!" " " %QqS1a!e9_Q37QTAX
&!"A+/0!Ql; ; ; %
a%1a41q5!)AqD.	(	
Q	!
1uaik!m
$'(1uqj
134q5	:	
Aq	1 
B1a	   AqAv!qA	
1qsQqS1	qs	"QqS	(B1WFa4D$R0	1aAq5   $R6	1aAq;   $R7$7	1aAq<    %QqS1Wq[1#6"<<<$QT!Vac\A37	
B!Q<   $Q,222$Q$72===$Q62r(BBB$Q,222Q319q=1D	
AA$T1a0Q1aL@@@$T1aT:1vx>PPPP$S1XAaC%81$?GGG$QqS1Q3Y1_q!f=!QUKKKru   c                     t        d      } t        t        j                  | k  | t        k        }t        | dz   dkD        |k(  sJ t        | dz   dkD  g      |k(  sJ t        | dz   dkD  g|       |k(  sJ t        | dz   dkD  g| g      |k(  sJ t        | dz  dz
  d      t        | dz  dz
  d      g}t        |      t        t        t        t        t        d       |       t        | d            t        t        d|       t        | t        d                        t        dd            k(  sJ t        dd      } t        | dz  dz
  d      t        | dz  dz
  d      g}t        |      t        t        t        t        d       |       t        | d            t        t        d|       t        | t        d                        k(  sJ t        | dz
  | dz
  z  dk  |       t        t        d|       t        | d            k(  sJ t        | | dz   z  dkD  |       t        t        t         |       t        | d            k(  sJ t        t        |       t        j                  kD        t        t        d	z  | k  | t        t        d
d	      z  k        k(  sJ t        t        d| dk              t        j                  | k  | t        k  z  k(  sJ t        t        d| dk              t         | k  | dk  z  k(  sJ t        t        | dk  d            t        j                  | k  | t        k  z  k(  sJ t        t        | dk  d            t         | k  | dk  z  k(  sJ t        t        d|             dk(  sJ t        t        d|             dgk(  sJ t        t        d|             dk(  sJ t        t        d|             dgk(  sJ t        t        d|              dk(  sJ t        t        d|              dk(  sJ t        t!        d|             dk(  sJ t        t!        d|             | t         kD  | t        k  z  t!        | d      z  k(  sJ y )Nrg   r}   rx   r   r   Tr  rz   r   ry   F)r   r=   r   r   r   rE   r   r   r>   r.   r   r6   r   r   r   r   r   )rg   r   systems      rs   test_solve_inequalitiesr     s   sA
affqj!b&
!CQs"""!a%!)$$$!a%!)a C'''!a%!)qc"c)))A1or!Q$(A/F=Bs2tAwh?Bq"I.2a8R47^,./1!Qx	99 9 9 	sAA1or!Q$(A/F=
3r47(A1b	*C1a"QQ.,IJK K K !a%!a%1$a(C1a"Q(,CCCCAEQ"c"bS!*bBi&@@@@Q!&&!SA1r(1a.7H3H%IIIIE1q5!"quuza"f&====D!a%!rcAg!a%%8888AE5!"quuza"f&====AE4!rcAg!a%%8888E1%'''Aq?qc!!!D!%%%Aq?qc!!!EA24'''D1"%'''D!&&&Aq?qB3w1r62R1X====ru   c                     t        dt        z        g k(  sJ t        t        ddt        z  z
  z        dgk(  sJ t        t        t        t              z   dz
        dgk(  sJ t        dt        z    dt        z   dz  z  ddt        z   z  z         g k(  sJ t        t        dz   dt        z  z
  t        dz   dz  z   dz
        g k(  sJ t        t        t        dz   z  dz   dz        g k(  sJ t        t        t        t        dz  dz         z  t              dgk(  sJ t        t        t              t        z
  t              t        t              gk(  sJ t        t        t                    g k(  sJ t        t        dz  t        z   t        t              dz  z   t        t              dz  z   dz
  t              ddgddgfv sJ dddt        z  dz   z  z  d	z
  t        t              } t        |       dk(  rt        fd
| D              sJ t        t        t        dz        t        dz  t        t              z  z
  t        t        d      t        t        gt        t        t        t              t        t        dz        z        ft        t        t        t              t        t        dz        z         fhfk(  sJ t        t        dz  t        dz  z  t        dz  t        dz  z  z
        t        t         it        t        it        digk(  sJ t        t        dz
  ddt        dz
  z  z   z        g k(  sJ t        t        t        t        z  z  t        z
  t              dgk(  sJ t        t        d        t        t        d        y )Nr}   ry   rx   rz   r~   r   r   r   r   c              3   p   K   | ]-  }j                  t        |      j                  d       dk(   / ywr  r  r  s     rs   r   z"test_issue_4793.<locals>.<genexpr>T  r  r  Tr   c                  \    t        t        t              t        t              z
  t              S r   )rE   r&   rg   r%   r   ru   rs   r   z!test_issue_4793.<locals>.<lambda>[  s    c!fs1voq(A ru   c                  L    t        dt        z  t        t              z
  dz
        S r  )rE   rg   r%   r   ru   rs   r   z!test_issue_4793.<locals>.<lambda>\  s    adSVma.?(@ ru   )rE   rg   r.   r%   rh   r&   r6   r4   r   r   ri   r]   r   )r   r   s    @rs   test_issue_4793r  G  s   1:A!G!$$$T!Wq!aS(((1q51q51*$q!a%y01R777!Q$1Az)A-."444!QU)a-2&'2---41q>!1%!,,,Q!QCF8+++Q=BACFAI%A	1A5q9q"gAw=OOOO	
1qsQw<!	B
A,Cs8q=S N# NNNNQTQT#a&[(!QD9	
A
T#a&3qAv;&'	(1tCFSa[4H/I.I*JK>M M M M AadQT!Q$Y&'QGaVaV+DDDD!a%!aQi-()R///QqSAq!aS(((
 AB
 @Aru   c                     t        t        t                    t        t        t        dz              cxk(  rdgk(  sJ  J t        t        t        dz
              dgk(  sJ t        d      } t        d| z  t        t              z  t              g k(  sJ t        dt        z  t        dz   z  dz
  t              dgk(  sJ t	        t        t        dz  dt        z
  z  j                  t                          t        j                  t        d      hk(  sJ t        d	      }t        dd
t        z   |t              z  z
   |t              z   |t                    t        t        d
d      z  gk(  sJ t        dt        d
t        z   d
      z  dz
  t              t        dd      gk(  sJ t        t        t              t        t        t                    z   dz
        t        dd      t        d      dz  z   dz  gk(  sJ t	        t        t        t        t        t                    t        t        t                     z   dz
                    t        t        d       dz   dz        t        t        d      dz   dz        hdt        t        d       dz         z  dt        t        d      dz         z  ht        dt        d      z  dz         t        dt        d      z  dz         hfv sJ t	        t        t        t        t              t        t               z   dz
                    t        t        d       dz         t        t        d      dz         hk(  sJ t	        t        t        t        z  t        dt        z  z  z   dz
  t                    t        dd      t        d
      dz  z   dt        z  z  t        dd      t        d
      dz  z
  dt        z  z  hk(  sJ t        t        t        t        z        t        t         t        z        z  dz
  t              t        t        z
  t        d      z  gk(  sJ t        t        t        z  t        t        z  z  dz
  t              t        d      t        t              t        t              z   z  gt        d      t        t        t        z        z  gfv sJ t        j                   }t        t        dt        z        t        d      z
  t              dt        |t        dd      t        d      t"        z  dz  z
  z        t        |t        dd      t        d      t"        z  dz  z   z        gdt        | dz  t        d      |z  t"        z  dz  z
        t        | dz  t        d      |z  t"        z  dz  z         gfv sJ t        dd      }t        d|z  dz   |dz   z        g k(  sJ y )Nrz   r   r}   r_   r   rx   r   ry  r   ry   rf  i~i  r   r   rW  r  rf   Tpositive)rE   r.   rg   r   r   r	   r   r   r   r   r-   rA   r%   r&   rh   ri   Exp1r   )r_   r   r   rf   s       rs   test_PR1964r  _  s   a>U41:.51#55555a!e!$$$sAAd1gq!R'''1a!eq!$+++uadAEl((+,-!&&!B%@@@A!ac!A$h,!$ad+(1a.0@/AAAA4Aq>!A%q)hw.F-GGGGa4Q=(1,-8B?T"XaZ3ORS2S1TTTTuT$s1v,c1"g6:;<=47(Q,"#S$q'A+)9%:;sDG8a<  !CQ!$4"45DGa #aQi!m"45	

 
 
 uT#a&3r7*Q./01	d1gX\	CQ!,-. . .uQTA!H_q(!,-
2q/DGAI
%1	-Q$q'!)0KqQRs/STU U U QqS#qbd)#a'+QA/????	1QT	Aq"1vs1vA783q63qs8;L:MNO O O 	
AQqSCF"A&	
C8B?T!WQYq[012C8B?TRSWUVYWX[;X8Y4Z[	
C1tAwqy{1}$%sA2a4$q'!)A+a-+?'@A+
 
 
 
 	sT"A!A#'QU#$***ru   c                     t        dd      } t        | dz  dz   |       g k(  sJ t        ddd      }t        |dz
  |dz   z  d|z  dz
  z  |      dgk(  sJ t        dd      } t        d	      }t        | d
|z  z   dz
  d| z  d|z  z   dz
  g| |      g k(  sJ t        | |z   d|dz  z
  g| |      t        d      t        d       fgk(  sJ t        d	d      }t        | dz  |dz  t        |       z  z
  || d      || t        | dz        z  igk(  sJ t	        dd      \  } }}t        |dz  | dz  z  |dz  |dz  z  t        |       z  z
  || |d      || t        | dz        z  igk(  sJ y )Nrg   Tr  rx   r}   rq   integerr  r  rh   ry   r   r   r   r{   zx y z)r   rE   r.   r%   r   )rg   rq   rh   ri   s       rs   test_issue_5197r    s   sAA1###sD40A!a%!a%!A#'*A.1#555sT"AsA!ac'A+r!taczB/A6"<<< 1q51q!t8$a+a47(0C/DDDDsT"AA1SV#Q51aAaCj/9JJJJg-GAq!AadQT!Q$Ys1v--q!QTB1SQRSTQTX:FWWWWru   c                     t        t        t        t        t        t        z  z
  z  t        d            t	        t              t
        j                  t	        t               hk(  sJ t        t        t        t        t        t        z  z
  z  t        d            t	        t              t	        t               hk(  sJ t        ddt        z  dz   z  dt        dz
  z  dz
  f      g k(  sJ t        ddt        z  dz   z        g k(  sJ y )NFr   Tr}   rx   rz   )r   rE   rg   rh   r.   r   r   r   ru   rs   test_checkingr    s    aQqSk1E*,04Q$q'/JK K KuQAaC[!401d1gQx5HHHH!QqS1W+q!a%y1}-."444AaC!G###ru   c                     t        t        t        dz  dz
        dz
        t        d      t        d       gt        d       t        d      gfv sJ t        dt        t        dz  t        z        z  dz   t        dz  dz   z  t              t        t        t        dt        t        z  t        d      z  z         z         t        t        t        dt        t        z  t        d      z  z         z        gk(  sJ t        d      \  } }t        d      }t        | |t        dz  z  z   t         |t                     z
   |t                    t        t        dz  | t        dz  z  |z   z        gk(  sJ t        d      }t        j                  }t        dt        |dt        dz  z  z         z
  t              t        | |z          dz  t        | |z         dz  gt        | |z         dz  t        | |z          dz  gfv sJ t        t        |d	z  t        dz  z
        |z  t              t        d
|d	z  z          t        d
|d	z  z         gt        d
|d	z  z         t        d
|d	z  z          gfv sJ t        dt        |dt        dz  z  z         z
  t              t        | |z          dz  t        | |z         dz  gt        | |z         dz  t        | |z          dz  gfv sJ t        |dz  dz   t        |t        z        t        |t        z        z   z  t              t         d|z  z  gk(  sJ t        dt        |t        z        t!        |t        z        z   z
  t              t        d      |z  gk(  sJ t#        t        dt        |t        z        t!        |t        z        dz  z   z
  t                    t        dt        d      z         |z  t        t        d       dz         |z  t        t        d       dz
        |z  t        dt        d      z         |z  hk(  sJ t        t%        t              dz
        t'        d      gk(  sJ y )Nrx   r}   ry   r   zC1 C2r   r_   r   r   r   rz   r~   )rE   r.   rg   r%   rh   r&   r   r   r   r   r   r   r  r6   r4   r)   r(   r   r2   r7   )C1C2r   r_   r   s        rs   test_issue_4671_4463_4467r    s   adQh!#$$q'DG8)<-1!WHd1g+>)@ @ @ @!SAa[.1$q!tby115	aA"SVO$$	%%tAc!ad3q6k/.B,B'C:E E E E WFBAbAgQqTE
*AaD1c!Q$1a4":M6N5OOOOsA	ASQq!tV_$a(
rAv,q$rAv,q.)	qb1fa$rAv,q)-    QWq!t^$Q&*
rAG|
	d2B<01	b1r7l	d2B<001/4 4 4 4 SQq!tV_$a(
rAv,q$rAv,q.)	qb1fa$rAv,q)-, , , , !Q$(S1XAaC01152#qs)DDDd1Q3i$qs)+,a0SVAXJ>>>uQ$qs)d1Q3il23Q78	R$q'\	1	c47(Q,/1T!WHqL!ST!W-a/	11 1 1 a1#a&)))ru   c                  n   t        d      \  } }t        t        | t        dz  z
  t        dz  z
  t        |      t        t        z  z
  gt        t        g            t        | t        |      dz  z         dt        | t        |      dz  z        z  t        |      z  ft        | t        |      dz  z        t        | t        |      dz  z        t        |      z  fhk(  sJ t        t        t              t        t              z
  dt        z  dz
  gt        t        g      t        t        t        dd                  t        dd      fgk(  sJ t        t        t              t        t              z
  dt        t              z  dz
  gt        t        g      t        t        t        d                   t        d       fgk(  sJ t        t        t        t              t        t              z
  t        dz  dz
  gt        t        g            t        t        d             t        d       ft        t        d            t        d      fhk(  sJ t        t              dz  t        t              z
  t        dz  z   dt        t              z  dz
  g}t        |d      t        t        gt        d       t        t        dt        z         t        t        d            z
        ft        d       t        t        dt        z         t        t        d            z
         fhfk(  sJ t        |t        t        d      t        t        gt        t        t        dt        z         t        t              z         ft        t        t        dt        z         t        t              z          fhfk(  sJ t        t        |t        t                    t        t        t        dz   t        t        d            z
               t        d       ft        t        dz   t        t        d            z
        dz  t        d       fhk(  sJ t        t        |t        t                    t        d       t        t        dt        z         t        t        d            z
         ft        d       t        t        dt        z         t        t        d            z
        fhk(  sJ t        t              dz  t        t              z
  t        z   dt        t              z  dz
  g}t        |d      t        t        gt        d       t        dt        z         t        t        d            z
  fhfk(  sJ t        |t        t        d      t        t        gt        t        dt        z         t        t              z   fhfk(  sJ t        t        |t        t                    t        t        t         t        t        d            z
               t        d       ft        t         t        t        d            z
        dz  t        d       fhk(  sJ t        |t        t              t        dt        z         t        t        d            z
  t        d       fgk(  sJ t        t        t        dz  t        dz  z         t        d	      z
  t        t        z   dz
  fd      t        t        gt        j                  t        d      ft        d      t        j                  fhfk(  sJ t        t        t        t        dz  t        dz  z         t        d	      z
  t        t        z   dz
  ft        t                    t        j                  t        d      ft        d      t        j                  fhk(  sJ y )
Nzr,trx   r   r}   rz   r   Tr   r   )r   r   rE   rg   rh   r7   r.   r4   r%   r6   r&   r   r   ri   r   )r   rj   r   s      rs   test_issue_5132r    sV   5>DAqua!Q$hAos1v!|4q!f=>!CFAI+4#a&!)#4 4SV ;
=!CFAI+Qs1vqy[ 1#a& 89	;; ; ; #a&3q6/1Q37+aV4
c(1a.!
"HQN	345 5 5#a&3q6/1SV8a<01a&9
s3q6{l
c!fW	%&' ' 'uc!fs1voq!tax01a&9:
s1vg,1	SVad 345 5 5q619s1v1$aAhl
3C$
Q
a&$AaCy3s1v;./0
a&4QqS	CAK/0013 	44 4 4 a%	
A
T3qs8)c!f$%	&T3qs8)c!f2D-E,E(FG*I I I I uS!Q $1us3q6{*++,s1vg6	adUSQ[ 	!!	#c!fW-	// / / uS!Q !fWtS1XICF3445
a&$AaCy3s1v;./0	22 2 2 q619s1v!1SV8a<
0C$QF
a&3qs8)c#a&k)*-, $- - - -a%	
A!c!A#hYQ'()*+ + + +uS!Q $rCAK'(()CF73!c#a&k!"1$s1vg.%0 0 0 0 aqs8)c#a&k
!CF7	+,- - -$q!tad{#d2h.A	:E	
A!%%11quu.J0 0 0 0ud1a4!Q$;'$r(2AEAI>1EF
%%11quu&' ' 'ru   c                     t        d      \  } }}d}d}| dt        z  z   |dt        dz  z
  z  t        z  z
  |t        z  dz  t        z  z
  |dt        dz  z
  z  t        z  dt        z  z
  |t        z  z
  t        t        z   |z
  g}t        t        |g}t        t	        ||dd            dk(  sJ t        t	        ||            dk(  sJ y )Nlam a0 conc{Gzt?̫;?rx   r}   T)manualminimalr   rh   rg   r   rE   lama0concr_   r`   r   syms          rs   test_issue_5335r    s    M*MCTAA19r1qs7|A~%!Aa/q1Q3w<>AaC!A#%q54<C a*CuS#dD9:a???uS#1$$$ru   Hangsc                  \   t        d      \  } }}d}d}| dt        z  z   |dt        dz  z
  z  t        z  z
  |t        z  dz  t        z  z
  |dt        dz  z
  z  t        z  dt        z  z
  |t        z  z
  t        t        z   |z
  g}t        t        |g}t        t	        ||d            dk(  sJ y )Nr  r  r  rx   r}   Frationalr  r  s          rs   _test_issue_5335_floatr    s     M*MCTAA19r1qs7|A~%!Aa/q1Q3w<>AaC!A#%q54<C a*CuS#./1444ru   c                      t        t        t        dz  t        z   dz   gt        g            t	        t         dz
         ft	        t         dz
        fhk(  sJ y )Nrx   r   )r   rE   rg   rh   r.   r   ru   rs   test_issue_5767r    sS    uadQhl^aS)*Q<-	D!aL?+, , ,ru   c                  *   t        ddd      \  } }}}}}t        ddd      \  }}}t        ddd      }	dt        d      dz  z  t        t        d      dz  z  z  |z  t        d      d	z  t        dz  |	dz  z  z   z  d
|t        d      dz  z  z  |	t        d      dz  z  z  z  dt        d      dz  z  t        t        d      dz  z  z  |z  d|t        d      dz  z  z  |	t        d      dz  z  z  z  z
  }
dt        d      z  t        z  dz  }|
||	fS )NzD, R, H, B_g, V, D_cT)r  r  zSigma_f, Sigma_a, nurg   rx   rz   i i'  r   r}   r  r   d   i  )r   r   r   r.   )Drm   HB_gVD_cSigma_fSigma_anurg   r   expecteds               rs   _make_example_24609r    s(   "#9tTAq!S!S"#9tTGWb$.A	AaDFB1aL $aioAad
&BC
A!QK-AaDF
#	%	AaDFB1aL $aAaDFmA!QK&?@	A 
 47{2~c!Hx?ru   c                      t               \  } }}t        | |d      |gk(  sJ t        | j                         |      \  }t        ||j                         z
        dk  sJ y )NTr   g+=)r  rE   rq   abs)r   r  rg   	solapproxs       rs   test_issue_24609r    s[    )+OB!Q&8*444"KYy8::<'(5000ru   c                  V    t               \  } }}t        t        | |            |gk(  sJ y r   )r  r   rE   )r   r  rg   s      rs   test_issue_24609_xfailr
  %  s-     *+OB!uR|
***ru   c                  x   t        t        t        dz  dt        z  z   dz
  t        t        z   dz
  gt        t        g            t        j
                  t	        d      fdt        d      z   dt        d      z
  fdt        d      z
  dt        d      z   fhk(  sJ t        t        dz  t        z   dz
  t        dz  t        z   g      g k(  sJ t        t        dz  t        z   dz
  t        t        z
  dz
  gt        t        f      t        t        dz  t        z   dz
  t        t        z
  dz
  gt        t        f      k7  sJ y )Nrx   rz   r}   ry   r   )r   rE   rg   rh   r   r   r.   r   ru   rs   test_polysysr  :  s   uadQqSj1na!eai01a&9:
%%1T!Wa$q'k2	
T!Wa$q'k"	$$ $ $ !Q$(Q,1q)*b000!Q$(Q,A	*QF3uad??A	>#%&F8, , , ,ru   c                  K  	
 t        t        d        t        t        d        t        dt              
fd} 
fdt	        d      J  | t	        t        t                    t        g f      sJ  | t	        t        t              dz         t        dz
  g f      sJ  | t	        t        t              t        t        d      z   d	z         
dz  
d	z  z   d	z   

d
z  t        z
  gf      sJ  | t	        t        t              t        t        d      z  d	z         t        dz  dz
  g f      sJ  | t	        t        t              t        dz   t        dd      z  z         t        dz  t        dz   d	z  z
  g f      sJ  | t	        t        t              t        t        dz         z   t        d	t        z        z         dt        d	      z  t        z  d	t        z  z
  dz   g f      sJ  | t	        t        t              t        t        dz         z   d	z         dt        z  dz
  g f      sJ  | t	        t        t              t        t        dz         z   t        dt        z
        z         dt        d	z  z  dt        z  z
  g f      sJ  | t	        t        t        t              z  t        t        t              z  z   t        t        t              z  z   t        t        t              z  z         t        t        t              z  t        t        t              z  z   d	z  t        t        t              z  t        t        t              z  z   d	z  z
  g f      sJ  | t	        t        t              t        dt        z
        z         d	t        z  dz
  g f      sJ  | t	        t        t              t        dt        z
        z   dz
        t        d	z  t        z
  dz   g f      sJ  | t	        t        t              t        dt        z
        z   t        d	t        z         z         dt        d	z  z  d	t        z  z
  dz   g f      sJ t	        t        t              t        dt        z
        z   t        d	t        z         z   dz
        dt        dz  z  dt        dz  z  z   dt        d	z  z  z   dt        z  z
  dz   g fdt        dz  z  dt        d
z  z  z
  dt        dz  z  z   dt        d	z  z  z
  dz   g ffv sJ t	        t        t              t        dt        z
        z   t        d	t        z         z   t        dd	t        z  z
        z
        dt        dz  z  dt        dz  z  z   dt        d	z  z  z   dt        z  z
  dz   g fk(  sJ  | t	        t        t              t        t        dz         z         t        j                  g f      sJ t        t              t        t        dz         z   t        dt        t              z
        z   } | t	        |      dt        d	z  z  dt        z  z
  g f      sJ t!        t#        |d             t        j$                  t        dd      hk(  sJ t#        |      g k(  sJ t!        t#        t        t              t        t        dz         z
  t        dt        t              z
        z               t        j$                  t        dd      hk(  sJ  | t	        t        t              t        t        dz   d      z   d	t        t              z  z   t              t        d!      g f      sJ  | t	        t        t        dt        z
  z        t        dz   t        dd      z  z         t        dz  t        dz  z
  t        dz  z
  d	t        d	z  z  z   t        z   dz
  g f      sJ  | t	        t        t        dt        z
  z        d	t        t              z  z   t              dt        z  t        z  t        z   dt        z  z
  g f      sJ  | t	        t        t              t        dt        z
        z  d	z   t              t        d	z  t        z
  dz   g f      sJ t#        t'        t        t        t        d
z                     dgk(  sJ t#        t'        t        t        t        dz
        z   d            dgk(  sJ t#        t'        dt        t        d	t        z  dz
        z               g k(  sJ t!        t#        t'        t        dt        z  d
z         d	z
  t                          t        j                   t        d	      hk(  sJ t!        t#        t'        t        d	t        z  dz
        t        t        dz
        z
  d	                  t        d      t        d"      hk(  sJ t#        t'        t        t        d#z         d	z   t        dt        z
                    d$gk(  sJ t#        d	t        z  dz
  t        dd      z  dz
        dgk(  sJ t!        t#        t        dz   t        t        dz  dt        dz  z  z   t        z
  d      z
              t        d%d	      t        d%d      hk(  sJ t!        t#        t        d	t        d	z  z  d#z
        dt        z
  z
              t        d       t        d	      hk(  sJ t#        t        d	t        z  dz         t        t        dz         z
  t        t        dz         z
        d&gk(  sJ t#        t        t        dz         t        d	t        z  dz
        z   dt        t        dz
        z  z
        dgk(  sJ t#        t        t              t        t        d#z
        z  d'z
        dgk(  sJ t#        t        t        dz
        t        t              z   dz
        dgk(  sJ t#        t        dt        d	z  z  dz         dt        z  d	z   z
        d&gk(  sJ t#        t        t              d	z
  dz
        d(gk(  sJ t#        t        t        dz
        t        t              z
  dz
        g k(  sJ t#        t        t        dz
        t        z
  d#z         d)gk(  sJ t#        t        t        d	z
        dz
        d*gk(  sJ t#        t        d+t        z  t        t        d	z  dz
        z
        d#z
        dgk(  sJ t#        t        t              t        t        dz
        z
  t        t        t                    z         g k(  sJ t        d	t        z  dz         t        t              z  t        d	dt        z  z         z
  }t)        |      d&   }t#        |      g k(  sJ t#        |      g k(  sJ t#        |d
t*        z  z         t        d%d,      gk(  sJ t#        |d
t*        z  z         g k(  sJ t	        t        t        dz   d      t        t        d      z
        t        dz  t        dz  z
  dt        d	z  z  z
  dt        z  z
  dz
   g fk(  sJ  | t	        t        t        t        d      z   t        t        d      d	z  z   t        t              z   t              
dz  
d	z  z   
z   t        t              z   

dz  t        z
  gf      sJ  | t	        t        t              t        t        d      z   t        z         
dz  
d	z  z   t        z   

d
z  t        z
  gf      sJ t#        t        t              t        t        d      z   d	z
        dgk(  sJ t        t        d-        t        t        d.        t#        t        t        t        t        d      z         t        t        t        z
  d      z   t              t        t        t        dd      z  t        z   t        dd	      z  z   gk(  sJ  | t	        t        t              t        t        dz   d      t        t        d	z         z  z
  d	z         
d)z  d
dz  z  z   d/
d
z  z  z   d'
dz  z  z
  d0
dz  z  z
  d
dz  z  z
  d1
d	z  z  z
  d2
z  z
  d3z
  

d	z  t        z
  gf      sJ t        t        dz   d      t        t        d      z   }t	        |      d	t        z  dz   g fk(  sJ t        t              t        t        dz         z   t        dt        z
        z   d
t        d      z  dz  z
  } | t	        |      d4t        dz  z  d5t        dz  z  z   d6t        d	z  z  z   d7t        z  z
  d8z   g f      sJ  | t	        t        t        d      t        t        d      dz  z   dz
        
dz  
z   dz
  

dz  t        z
  gf      sJ  | t	        t        t        d	      t        t        d	      dz  z   dz
        t        dz  d	t        d	z  z  z   t        z   dz
  g f      sJ t	        t        d9z        J  | t	        t,        t        t        t        z   d      z   t        t        t        z   d      dz  z         
dz  
z   t,        z   

dz  t        z
  t        z
  gf      sJ  | t	        t        t        t        t        z   d      z   t        t        t        z   d      dz  z   t              
dz  
z   t        z   

dz  t        z
  t        z
  gf      sJ  | t	        t        t        t        t        z   d      z   t        t        t        z   d      dz  z   t              
dz  
dz  z   
z   t        z
  

dz  t        z
  t        z
  gf      sJ  | t	        t        t        dz
  d      t        t        dz   d      z   t        d	d      z         
dz  dd	t        dd      z  z  
dz  z  z   
dz  z   d)d	t        d	d      z  z  
dz  z  z   d)d	t        dd      z  z  
d	z  z  z   dd	t        dd      z  z  
z  z   dz   

dz  t        z
  dz   gf      sJ t        t        d:        t#        t        t        d      t        t        d      z   d	z
        dgk(  sJ t        t              t        t        dz         z   t        dt        z
        z   d
t        d      z  dz  z
  } | t	        |      dt        z  dz
  d;t        dz  z  d<t        d	z  z  z   d=t        z  z   d>z
  z  g f      sJ t        d?      	t#        |      	k(  sJ  | t	        t        t        t        t        dz   d      z         t        t        dz   d      z
  d	z
        
dz  
d	z  z
  d
z  z
  dz
  

dz  t        z
  dz
  gf      sJ t        t        d	z  dz   d      t        t        d	z  dz
  d      z
  d	z
  } | t	        |      
dz  d)
dz  z  z
  d@
dz  z  z   dA
d	z  z  z
  dA
z  z   dBz
  

dz  t        d	z  z
  dz
  gf      sJ t        t        t        t        dz   d	      z         t        t        dz   d      z
  d	z
  } | t	        |      
d
z  d	
dz  z  z
  d#
dz  z  z
  d
dz  z  z
  dC
d	z  z  z   d
z  z   dz   

dz  t        z
  dz
  gf      sJ  | t	        |dDE      
d
z  dF
dz  z  z
  dG
dz  z  z   dH
dz  z  z
  dI
d	z  z  z   dJ
z  z
  dKz   

d	z  t        z
  t        t        dz         z
  gf      sJ  | t	        t        t        t        t        t        d      dz
        z         t        t        d
      z
  d	z
        
d'z  d	
dz  z  z
  d
d#z  z  z
  d
d
z  z  z
  
dz  z   d
dz  z  z   dL
d	z  z  z   dM
z  z   d+z   

d
z  t        z
  gf      sJ t	        t        t/        t              d      t        z  t        t        dz   d      z  dz
        t        dNz  t        dz  t/        t              dz  z  z
  dt        d	z  z  t/        t              dz  z  z
  dt        z  t/        t              dz  z  z
  t/        t              dz  z
   g fk(  sJ t	        t        dO            J  | t	        t        dO      t              
d	t        z  z  
z   dz   

dz  t        z
  t        z
  gf      sJ t	        t        t        j0                  t        z  z  t        z   t              t        dt        z  z  t        d	z  z
  g fk(  sJ t3        t#        t        t              t        z  t        dz  z   dz
  t                    dk(  sJ t3        t#        dPt        dz  z  dQt        d	z   t        dd      z  z  t        d	z  z  z   dRt        d	z   t        d	d      z  z  t        z  z
  dt        z  z
  dSz   t        dT            dk(  sJ t        dU      }t#        |t              d	t        d	      dz  z  d*t        z  d*t        t        d	z        z  z   t        d      dz  z  z  t        d      z  dVz  dWt        z  dXz  t        dW      dXz  z   t        d      dz  z  t        d       d	z  t        d      t*        z  d	z  z
  z  z   d	t        d	      dz  z  d*t        z  d*t        t        d	z        z  z   t        d      dz  z  z  t        d      z  dVz  dWt        z  dXz  t        dW      dXz  z   t        d      dz  z  t        d       d	z  t        d      t*        z  d	z  z   z  z   d	t        d	      dz  z  d*t        z  d*t        t        d	z        z  z   t        d      dz  z  z  t        d      z  dVz  dWt        z  dXz  t        dW      dXz  z   t        d      dz  z  z   gk(  sJ t        t        dz   d      t        t        d      t        t        d      z   z
  } | t	        |      d
d"z  z  d
d,z  z  z   
dz  z   dz
  

dNz  t        z
  gf      sJ  | t	        |d	z
        d
d"z  z  d
d,z  z  z   d

d)z  z  z   
dz  z   d'
dz  z  z   d

d
z  z  z   d'
dz  z  z   d'
dz  z  z   d#z   

dNz  t        z
  gf      sJ  | t	        t        t        d      t        t        dz   d      d	z  z
  t        t        d	z   d      z         
dY
dz  z  dZ
dz  z  z   d[
d#z  z  z   
d
z  z
  d\z
  z  

dz  t        z
  dz
  gf      sJ  | t	        t        t        d      t        t        dz   d      z   t        t        d	z   d      d	z  z
        dX
d"z  z  d]
d'z  z  z   dQ
d,z  z  z   dW
d)z  z  z   d^
dz  z  z
  d_
dz  z  z
  d\
d#z  z  z
  d`
dz  z  z   da
dz  z  z   db
z  z
  

dz  t        z
  dz
  gf      sJ  | t	        t        t        d      d	z  t        t        dz   d      z
  t        t        d	z   d      z         db
d"z  z  da
d'z  z  z
  d\
d,z  z  z   dW
d)z  z  z
  d`
dz  z  z   d_
dz  z  z
  dQ
d#z  z  z   d^
dz  z  z   d]
dz  z  z
  dX
z  z   

dz  t        z
  dz
  gf      sJ  | t	        t        t        d      d	z  t        t        dz   d      z
  t        t        d	z   d      z   d	z
        db
d"z  z  dc
d'z  z  z   dd
d)z  z  z   de
dz  z  z   df
dz  z  z   dg
d#z  z  z   dh
d
z  z  z
  di
dz  z  z
  dj
dz  z  z
  dk
dz  z  z
  dl
d	z  z  z
  dm
z  z
  dnz
  

dz  t        z
  dz
  gf      sJ t#        t        t              t        t        dz         z   t        dt        z
        z
  t        d	t        z         z
        	t3        	      dk(  rt5        	d&         d d dok(  sJ t7        dp      }|d	t        z  d	t        z  z   t        t        d	z  t        d	z  z         z   z
  }|t        d	d#      z  t        d	      |z  dFz  z
  	t#        |t        d       }t9        |      D ]]  }t#        t        t        z  j;                  t        |      j=                  t              t        ddq      }t?        	fdr|D              s] n J t#        t        t        dz         t        t        d      z   d	z
        t        ds      k(  sJ t#        t        t        t        dz               t        t        dd      z  z   d	z
        t        dt      k(  sJ t#        t        t              t        t        t              dz   d      z   d	z
        t        du      k(  sJ t        dv      } | t	        |      

d
z   t        d      
d
z  z  t*        z  z   dwd	t        d	d      z  z  dt        dd      z  z  
dz  z  z
  dxd't        dd      z  z  
dz  z  z   dyd	t        d	d      z  z  dt        dd
      z  z  
dz  z  t*        z  z
  dz
dz  z  z
  dzt        d      z  
dz  z  t*        z  z   d{d|t        dd      z  z  
d	z  z  z   d}z
  d}t        d      z  t*        z  z    z  

dz  d~t        z  z
  t        d      t        dt        d	z  z  dt        z  z
  dz         z  z
  dz   gf      sJ t#        |      g k(  sJ t        t        d      t        t        d      z
  t        t        d      z   } | t	        |      
dNz  d
d"z  z  z   d
d,z  z  z   
dz  z   t        z
  

dNz  t        z
  gf      sJ t        t        d      t        t        d      z   t        t        t        z  d      z   } | t	        |      
t        z  
d'z   d
d,z  z  t        z  z
  d
d)z  z  t        d	z  z  z
  
dz  t        dz  z  z
  d
dz  z  t        d	z  z  z
  dV
d#z  z  t        dz  z  z   d
d
z  z  t        dz  z  z
  d
dz  z  t        dz  z  z
  d
dz  z  t        dz  z  z
  t        d
z  z
  z  

dz  t        t        z  z
  gf      sJ t        t        d        t'        t        t        d      dz  z   t        t        d      dz  z  z   dt        d      dz  z   d%t        d      dz  z  dt        d      dz  z  z  z
        } | t	        |      
dz   
dz  z   dt        d      dz  z  z
  d%t        d      dz  z  dt        d      dz  z  z  z
  

dNz  t        z
  gf      sJ t        t              dz
  
t	        
d	z  
dz  z
        t        dz  d
t        d	z  z  z
  dt        z  z   dz
  g fk(  sJ t	        t        t        dz   z  dz   dz  t              J t        t        t        z
        tA        t,        t        t        t        z
        z        z  tA        t,        t        t        t        z
        z        z
  }t#        |t              t        dz
  gk(  sJ t	        |      J y )Nc            	          t        t        t              t        t        dz         z   t        dt        t              z
        z   dz         S Nr}   rz   )rO   r.   rg   r   ru   rs   r   ztest_unrad1.<locals>.<lambda>F  s7    d1gQU#d1tAw;&77!;< ru   c                      t        t        t              t        dz   t        dd      z  z   dt        t              z  z         S )Nr}   rz   rx   )rO   r.   rg   r   rh   r   ru   rs   r   ztest_unrad1.<locals>.<lambda>H  s4    d1gQ!Q//!DG);< ru   r   )clsc                     t        | d         t        |d         k(  sJ |d   r	 | |      S | d   j                         }|d   j                         }||| fv xr | d   |d   k(  S Nr}   r   )boolr  )rvr   rc   r_   s_checks       rs   r   ztest_unrad1.<locals>.checkO  st    BqE{d3q6l***q62s##qELLNFMMOQG|/1Q/ru   c           	      b   t        |       } | d   j                  t              }t        t        |gt	        |      z              }| d   j                  |      j                         | d   d   j                  |      | d   d   j                  |      gf} |d   j                  |      j                         |d   d   j                  |      |d   d   j                  |      gf}t        | d         t        |d         t        |d          fv xr t        | d         t        |d         k(  S )Nr   r}   )r   atomsr   zipr   r   r  r  )r  r   rb   repsr   s       rs   r  ztest_unrad1.<locals>.s_checkW  s   "XqEKKCA3s1v:&'ejj%%'"Q%(--*=r!uQx}}T?R)ST1v{{4 '')CF1INN4,@#a&)..QUBV+WX2a5zc#a&k3Aw<88 &1J#c!f+%	&ru   r}   rz   rx   r   ry   rH  r~   r   rf  r   rU  ix  i  i  i  r  i  i	  i     rh  r-        Fr   z32*sqrt(x)*(x + 1)**(1/3) + x - 4*y + (x + 1)**(2/3)rG  r   ir   r   r   rp  r   r   rW  r2  c                      t        t        t              t        t        d      z   t        t        dz   d      z   dz
        S )Nrz   r}   ry   rx   )rE   r.   rg   r-   r   ru   rs   r   ztest_unrad1.<locals>.<lambda>  s2    d1gQ
"T!a%^3a78 ru   c                  Z    t        t        d       t        t              t        z  z         S r  )rE   r.   r(   rg   r   ru   rs   r   ztest_unrad1.<locals>.<lambda>  s    tAwha.B(C ru   r)  r`        rw  i	=  iȣ im i { i  r  c                      t        t        t        d      t        t        d      z   t        t        d      z   j                  t        t        dz  t        z
  dz               S )Nrx   rz   r   ry   r}   )rO   r-   rg   r   r   ru   rs   r   ztest_unrad1.<locals>.<lambda>  sD    tAqzDAJ&a399!QTAX\JK ru   i5  i  i i D z
        [4/5, -1484/375 + 172564/(140625*(114*sqrt(12657)/78125 +
        12459439/52734375)**(1/3)) +
        4*(114*sqrt(12657)/78125 + 12459439/52734375)**(1/3)]r*  rq  r]  ro  T)_reversery  ru          r[  rB  rl  r   z!(x+y)**(2*y/3) + (x+y)**(1/3) + 1 @      _unradz9-x + (7*y/8 - (27*x/2 + 27*sqrt(x**2)/2)**(1/3)/3)**3 - 1rZ  i   iW  i   i  rt  i  iX  i+  i  i     i  i  i@H  i i i i Z	 i2 i` il i@HM i9  i z0.73r  r   r   c              3   X   K   | ]!  }|z
  j                         j                   # y wr   )r  is_zero)r   r_   r   s     rs   r   ztest_unrad1.<locals>.<genexpr>A  s$     5aC!))5s   '*z_
        [(-11/(9*(47/54 + sqrt(93)/6)**(1/3)) + 1/3 + (47/54 +
        sqrt(93)/6)**(1/3))**3]a<  
        [(-sqrt(-2*(-1/16 + sqrt(6913)/16)**(1/3) + 6/(-1/16 +
        sqrt(6913)/16)**(1/3) + 17/2 + 121/(4*sqrt(-6/(-1/16 +
        sqrt(6913)/16)**(1/3) + 2*(-1/16 + sqrt(6913)/16)**(1/3) + 17/4)))/2 +
        sqrt(-6/(-1/16 + sqrt(6913)/16)**(1/3) + 2*(-1/16 +
        sqrt(6913)/16)**(1/3) + 17/4)/2 + 9/4)**3]z]
        [(-(81/2 + 3*sqrt(741)/2)**(1/3)/3 + (81/2 + 3*sqrt(741)/2)**(-1/3) +
        2)**2]a  
        -x + (1/2 - sqrt(3)*I/2)*(3*x**3/2 - x*(3*x**2 - 34)/2 + sqrt((-3*x**3
        + x*(3*x**2 - 34) + 90)**2/4 - 39304/27) - 45)**(1/3) + 34/(3*(1/2 -
        sqrt(3)*I/2)*(3*x**3/2 - x*(3*x**2 - 34)/2 + sqrt((-3*x**3 + x*(3*x**2
        - 34) + 90)**2/4 - 39304/27) - 45)**(1/3))   rm  f   iT  i06  r_  i`2 i2  iy  ix i,  i*  c                      t        t        t        d      t        t        d      z   t        t        t        z  d      z         S )Nrz   ry   )rO   r-   rg   rh   r   ru   rs   r   ztest_unrad1.<locals>.<lambda>g  s+    5ad1aj04!Q<?@ ru   )!r]   r   r   r   rO   r.   rg   r-   r   r_   r`   ra   rh   rb   r   r   r   rE   r   r   rQ   r   rj   r(   r   r   rt   r   reversedr   r	   anyr%   )r   r   ri   rf   rc   r  r  xir  r   r   r  s            @@@rs   test_unrad1r7  D  s[%   
 != >
 != > 	A0	& 8tAw	
B  tAw{#	
Q  tAwa+a/0	
A1q1adQh-(* * *tAwtAqz)A-.	
AB  tAw!a%(1a.!889	
AQ
	B! ! !tAwa!e,tAaCy89	DGA!	a	$& & &tAwa!e,q01	A2  tAwa!e,tAE{:;	
1a4!A#r  qay1T!W9,qay81T!W9DE
DG)aQi
!	#qay1T!W9'<q&@	@"EG G GtAwa!e,-	
1q"  tAwa!e,q01	
AB  tAwa!e,tAE{:;	
1a4!A#	2     a4A;&a!e4q89	AqD3q!t8	d1a4i	'$q&	03	6;	AqD3q!t8	d1a4i	'$q!t)	3c	92>>@ @ @ @ a4A;&a!e4tA!G}DE	AqD2ad7	SAX	%A	-	2B78 8 8tAwa!e,-r{;;;	a4A;	a$q'k!2	2Br	AqD1Q3  uRu%&1668Ar?*CCCC9??uT!WtAE{*T!d1g+->>?@	
!R!" " " tAwa!eQ/!DG);Q?	
@	A2FH H HtAq1uI!a%(1a.)@@A	
A1q!t	a1f	$q	(1	,b13 3 3tAq1uI472A6	
1QQqS"  tAwtAE{*Q.2	
AAr  
 AtAE{#$+++AQUOQ'(QC///Aq4!a=()*b000uRQqS1W)1-./QUUFAaD>AAAuRQqS1WQU3Q789adAbE]JJJDQK!OT!a%[12rd:::!A#'HQN*Q./B4777uQUT!Q$1a4-!"3Q7789	"a(2q/*+ + +uT!AqD&1*%Q/01qteQqT]BBBacAga!e,tAE{:;sBBBa!etAaC!G},qa!e}<=!DDDaa!e$r)*rd222a!etAw&*+s222a1fqj!QqS1W-.1#555a1q!bT)))a!etAw&*+r111a!eq1$%"---a!eq!bT)))bdT!Q$(^+,q01aS888a4A;&d1g672=== 	QqS1Wd1gQ1W-Aq	!A8r>>8r>>QqS>hr2.////QqS>Ra!eQ$q!*,-
Q$A+!Q$
1
$q
()22/ / / / q41:~Q
A5Q?C	
A1q47	"Q1qM24 4 4 tAwa+a/0	
A1q1adQh-(* * *a41:%)*qc111
 !9 :  CDa$q!*n%d1q5!n4a8	QA"Xa^33=5 5 5 5tAwa!eQQU!;;a?@	
B1a4"QT'	!Bq!tG	+bAg	5AqD	@3q!t8	KA

1qM	#$ $ $ 	QUAa#A8!a}$$$
q'DQK
$q1u+
-$q'	!
;Br	q!tfQTk	!F1a4K	/&(	:V	CRHJ J JtAqzDAJM1A56	
AA1a4!8}%' ' 'tAqzDAJM1A56	
A!Q$	Q	#% % %C=   q4Aq>)DQNA,==>	
AA1a4!8a<()+ + +q4Aq>)DQNA,==qA	
AA1a4!8a<()+ + +q4Aq>)DQNA,==qA	
A1q1	q!Q$(Q,/02 2 2tAE1~QUA6aCD	
A!Xa^##AqD(	(1a4	/"QA5F2Fq!t2K	K
1hq!nQT!
"$%a!Q&7$7$9
:<=
>@A1a4!8a<?P	RS S S  !L M
 ad1aj(1,-!444
q'DQK
$q1u+
-$q'	!
;Br
A#'DAIad
*VAX5=	>CE E E
 A BC 9tAQUA./$q1ua.@1DE	
A1qs	Q	AqD1HqL 124 4 4 	QTAXqDA1--1Aq	
A1a4"QT'	!Bq!tG	+bd	2R	7	
AqD1a4K!O	   	Qa!eQ 4Aq>1A5Aq	
A!Q$1a4	!AqD&	(2ad7	2RT	9B	>	
AqD1HqL	   q4(	
A1a4"QT'	!C1H	,s1a4x	7#a%	?"	D	
AqD1HtAE{"#	%& & & tAT!QZ!^ 445Q
BQFG	
B1a4!AqD&	 1QT6	)AqD	01QT6	9Bq!tG	C
1

q!tax=	"# # #
 d1gq!!#DQN2Q67
R%!Q$tAwz/
!AadF47A:$5
5!DGQJ
F
q'1* 	<    678@@@q<=qA	
QqSA	Aq!tax!|,-/ / / QVVAX"A&1qs8ad?B*????
 uT!WQYA%)1-.!333uT!Q$Yq1ux1~&=!=ad!BBa!ehq!n$$Q&'),Q/14567G HKLM M M 
F	GBQ<	AaDFRTBtAqDzM)QqT!V44QqT9"<Ac		#s
Ad1f@ !!uQwa14@6 	6781Q46{BqD
41:E1aD! 8!!"18&&(8),/E#I	#s
-d1f, !!uQwa14,686781Q46{BqD
41:E1aD! 8!!"18&&(8),/E#I#s
,Bad1f+M8N	O O O O 
a!eQ41:Q
2	3Br	
1b51QU7	QT	!A	%1b519~68 8 8rAv	
1b51QU7	Qq"uW	$q!t	+bAg	5!Q$	>AqD	H
1a4

B^	%& & & tAqzDQN1$44tAE1~EF	
DAIAqD 2ad7*QT1D8	9	
AqD1HqL	   tAqzDQN2T!a%^A5EEF	QUT!R%Z	$q"u*	,s1b5y	8419	DQT	
AI
 $QT	
*,/1H
57:1u
=?@!Q$(	C
 ?	   tAqz!|d1q5!n4tAE1~EF	QUSBY	ae	+c!R%i	7$q!t)	CQT	
AI
 $QT	
*,0AI
68;A
>@A1a4!8	D
 @	   tAqz!|d1q5!n4tAE1~EIJ	QUT!R%Z	%2+	-q!t	;fQTk	Iq!t
QTk
"$+AqDL
13:1a4<
@BI!Q$,
O
!Q$,
 
#%+
,./AA->	@A A A Q$q1u+%QU"1q5k* +Cs8q=RAZ^v555 	sA	
acAaCi$q!tad{++	,B
HQN
T!WQYr\
)Cb!5!Aqk 1Q3**Q#((+QeL5155
 	ta!etAqz)A-.! 5# 3$ $ $ $ d1q5k"QA%66:;q B6 @7 7 7 7 a4Q!Q//!34 ; 9    
 6 
7B
 r	
adUT!WQT\!^#c!Xa^*;&;Ax1~<M&MaQRd&RR
2x1~ad"#%(HQN):%:1hq!n;L%LQPQT%QRS%STVZ[\^_[_V_`T!WQT!#BA$66q!t;<>DE 	tAwq  
 q!tc!e|d1gd5A:q<< 7 /     !	"# # # 9??	ad1aj	 41:	-BrrEAaeGOa2g%1,q01aeai.AC C C	ad1aj	 4!Q<	/BrA#2v!R%	)AaeGAqDL81a419DAvad{#%'1WQT\245adF1a4K@BCAqD&A+NAvad{#%&T* +-.1qs
O=> > > @B 
Q1a[L1qtAv;&QqT!Vad1f~a!A$q&k7Q(Q	RBr
Q$AAaDF	#rQqT!VnQ1a[&@	@1aeai.QS S S 	Q!AA1!Q$1a4-!A#"5"92!>>>>!QU)a-2&*222 
a!eS4A;'	'#aQUm*<	<BQ<AE7"""9ru   c                      t        dt        ddt        dz  z  z
        z         t        dt        ddt        ddt        dz  z  z
        z  z         z   z  z
  } t        |       t        j                  gk(  sJ y )Nr}   r   rx   )r.   rg   rE   r   r   r   s    rs   test_unrad_slowr:  z  sk     q4AadF
##
$q!d1qa!AqD&j9I7I3I.J*J'K
KB9   ru   c            	         t        t        t        dz  dt        dz  z  z
  d      dz   t        z
        t        dd      gk(  sJ t        t        t        dz   d      t        t        dz  dz
  d      z   dz         ddt	        t        dz  t        dz  z   dt        dz  z  z   dt        dz  z  z   dt        z  z   dz   d	      dz  z   gk(  sJ y )
Nrz   rx   r}   ry   r   r   r  r   r   )rE   r-   rg   r   rY   r   ru   rs   test_unrad_failr<    s     adQq!tVmQ'!+a/0Xa^4DDDDa!eQ$q!tax"33a78
BA1qAv-!Q$6A=A1EqHH=J J J Jru   c            	         t        d      \  } }}|dz  z
  | dz  z
  }| t        |       t        t        |      dz  dz         z  t        |       t        |      z  t        t        |      dz  dz         z  i}t        ||      dk(  sJ t        t	        d      di      du sJ t        t        d      di      du sJ t        t	        dk  d      di      du sJ t        t	        dk  d      di      du sJ t        t	        dk  d      di      du sJ t        t	        dk  d      di      du sJ t        t	        dz   dz  dz         di      du sJ t        dz
  dz  dz
  gd      du sJ t        dz
  dz  dz
  gd      du sJ t        t        dz  dz
        d      du sJ t        di       du sJ t        ddz
  gd      du sJ t        ddgd      du sJ t        | d      du sJ t        dz   dd	      du sJ t        dz   dd	      du sJ t        t        d
z        t        t        d      dz        i      du sJ t        t        d
z        t        t        d      dz        t        t        z  z   i      du sJ t        ddz  z  d      du sJ t        t        fd       t        t        fd       y )Nz
x, y, r, trx   r}   TFr   g|=r  	numericalrv  ry   r  c                      t         d      S r  rP   r   s   rs   r   ztest_checksol.<locals>.<lambda>  s    x1~ ru   c                      t        g  d      S r  rA  r   s   rs   r   ztest_checksol.<locals>.<lambda>  s    xAq1 ru   )r   r.   r7   rP   r   r   rA   r%   r&   r   r   r]   r   )rh   r   rj   r   dict_var_solnrg   s        @rs   test_checksolrD    s6   &JAq!Q	
QTAqDB$q'	DQQ$77	DG8CF?4A	A..0MB&$...Bq%L1e*-555Bq%L1e*-666Bq1udOaV,444Bq1udOaV,555Bq1ue$q!f-555Bq1ue$q!f-666Bq1uadQh'!Q0D888QUAqD1H%q!,444QUAqD1H%q!,555DANAq)T111Ar?d"""UAENAq)U222S!QKA&%///Aq!%%%AeGQT2d:::AeGQU3u<<<C1I3tAwqy>23u<<<C1I3tAwqy>AbD#89:eCCCAadFAt$---
:-.
:12ru   c                     t        t        dz
        dt        fk(  sJ t        d      dk(  sJ t        t        dt        z        dz
  t              dt        d      z  t        fk(  sJ t        t        dt        z  t        t        z  z         dz
  t              t        dz   t        d      z  t        fk(  sJ t        t        t              t        dfk(  sJ y )Nrx   )rx   r   r}   rz   r   )rN   rg   r%   r&   r_   r   ru   rs   test__invertrF    s    1q5>aV###1:3qs8a<##a&!}4443qsQqSy>A%q)q1uc!fna-@@@@1a=QF"""ru   c                     t        t         t        z  dt        z  t        t              z  z   t              t	        t        dz        gk(  sJ t        t        t        z        g k(  sJ t        t        t        z  dz
        t	        t        t        d                  gk(  sJ t        t        dz
  t        dz
  z  t        dz
  t        dz
  z  z        dgk(  sJ y )Nrx   rz   r   )rE   r_   rg   r&   r%   r$   r   ru   rs   test_issue_4463rH    s    !A!CF
"A&3qs8*444A;"A?s8CF#3455551q51q5/a!ea!e_561#===ru   c                     t        d      \  } }}}}}}}}}	}
}}}}}}}| |||||
|f}|||z  z   ||z  z
  |d|z  d|z  z   d|z  z   z  ||z  z
  ||z  z
  |d|z  d|z  z   d|	z  z   z  ||z  z
  ||z  z
  |d|z  d|z  z   d|z  z   z  ||z  z
  |
|z  z
  |
d|z  d|z  z   d|z  z   z  ||z  z
  ||z  z
  |d|z  d|z  z   z  |
|z  z
  g}t        t        ||ddd            dk(  sJ y )Nza:rr}   TF)r  r   r   )r   r   rE   )r_   r`   ra   rb   rc   r   r   re   r   jrd   lrl   rq   r  rf   rk   r   rz  r   s                       rs   test_issue_5114_solversrL    sV   ;B5>8Aq!Q1aAq!Q1aAq aAq!QDqs7QqS=qsQqSy1Q3!A#!#	1Q319qs?ac!AaC'	1Q319qs?ac!AaC'	1Q319qs?ac!AaC'	1Q319!C uS$t55IJaOOOru   c                  |   t        d      \  } }}}}}t        d      \  }}}}	}
}| |z
  |z
  ||z
  |z
  ||z   |z
  |  |z   |z   d| z  d|z  z
  d|z  z
  d|z  z
  |dz  z
  dz   | |	z   | |z   d|z  d|z  z   d|z  z   |
z
  |d|z  z
  d|z  z   |z   f	}| ||z   |d|z  d|z  z
  d	|z  z
  d
|z  z
  dz   |||z
  |	||z
  || dz  d|z  dz  z   |dz  z
  |||
d|z  d|z  z   d|z  z   ig}| ||
|||||	f}t        |g|dddd|k(  sJ t        |g|ddd|D cg c],  }t        |D cg c]  } |j                  ||       c}      . c}}k(  sJ t        |g|ddig k(  sJ t        |g| g k(  sJ |D cg c]  }|j	                  |d          c}dd||z
  | |z   dddddg	k(  sJ y c c}w c c}}w c c}w )NI1:7dI1,dI4,dQ2,dQ4,Q2,Q4r~   rx   rz   r   r  r  r   r   r)  TF)r  r   r|   r  r   r  r   )r   rE   r   getr   )I1I2I3I4I5I6dI1dI4dQ2dQ4Q2Q4rc   r   vr_   r   eis                     rs   test_issue_5849r`    s    %V_BBB!()@!ACc3B 	R"
R"
R"	b2
2"qtad"SU*R/	c		c		"qtadR
QrT	AbD3
	A RB2"	qt	#b	(RbA"QQ"qtad C 	BBS#s*A<Q<t5t<CCC1Q1t511466,-A&ququuQ{&'66 6 6 6$Q$t$***<Q<2
  GGA !"ArBwb!Q1a HI I I '66s   F3&F. 	F3:F9.F3c                  R   t        d      \  } }}}}}t        d      \  }}}}	}
}| |z
  |z
  ||z
  |z
  ||z   |z
  |  |z   |z   d| z  d|z  z
  d|z  z
  d|z  z
  |dz  z
  dz   | |	z   | |z   d|z  d|z  z   d|z  z   |
z
  |d|z  z
  d|z  z   |z   f	}t        || ||
|||||		      g k(  sJ y)a  Same as test_issue_5849 but solved with the matrix solver.

    A solution only exists if I3 == I6 which is not generically true,
    but `solve` does not return conditions under which the solution is
    valid, only a solution that is canonical and consistent with the input.
    rN  rO  r~   rx   rz   r   Nr   rE   )rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  rc   s                rs   test_issue_5849_matrixrc    s    %V_BBB!()@!ACc3B 	R"
R"
R"	b2
2"qtad"SU*R/	c		c		"qtadR
QrT	AbD3
	A BBCc372===ru   c                  h   t        d      x\  } }}}}}}}| | z  |z   d|z  dz  z   d|z  dz  z   d|z  dz  z   d| z  dz  z   | |z  d|z  dz  z   |dz  z   | |z  |dz  z   |z   d|z  d	z  d|z  d	z  z   d| z  d	z  z   | |z  |dz  z   d
|z  dz  z   | z   | |z  |z   |d	z  z   | dz  z   d|z  dz  |dz  z   | z   d|z  dz  d|z  z   d| z  dz  z   | g	}| d|d|d|d|d|di| d|| |d|t        d      dz  |d|di| d|z  |d|||d|t        d      d	z  |dig}	t        ||d      }
|
|	k(  s	J |
|	f       y )Nza, b, c, d, f, g, kry   r   rx   rf  r   rz   rG  r_  r   r   r~   Tr{   )r   r   rE   )r_   r`   ra   rb   r   r   rd   unknowns	equationsanswergots              rs   test_issue_21882ri    s   %,-B%CCAq!Q1a( 
1q1Q3q51Q3q5 1Q3q5(1Q3q50	
1qs1uqs	
1qs
Q
1R"Q$r'BqDG#	
1qs
RT!Va	
1q1R4!A#	!A!a	!A!ac!e	

I 
Aq!Q1aAq!,	
Aq1"aAqtAvq!Q2	
BqD!Q1aAquRxA68F 	8$
/C&=&3v,&=ru   c            	         t        t        d      \  } }t        d      }t         t              t              }t         | |      |      }t         t               t              j                  t              z    t                    | gk(  sJ t         t              dz
   t                    dgk(  sJ t         t              d t              j                  t              z  z
   t                    d|z  gk(  sJ t         t              d t              j                  t              z  z
  g t                     t              d|z  ik(  sJ t         t              d t              j                  t              z  z
   t              dz  t        z
  dz   g t              t              d|z  d|dz  z  dz   fgk(  sJ t         |      dz    | |      dz  z   |      dz   ||      dz  z  z    | |      j                  |      z    ||       | |      d       ||       | |      gt         |      dz   | |      dz  z  |z
          |      z   | |      ft         |      dz   | |      dz  z  |z
         |      z   | |      fhfk(  sfJ t         |      dz    | |      dz  z   |      dz   ||      dz  z  z    | |      j                  |      z    ||       | |      d              t              j                  t        d       t               | t              z   z  d | t              dz  z
  g t               | t              g}t        |d	did
   t        d       t        d      ft        d      t        d       fhk(  sJ  t              dz   | t              z   d t              j                  t              z  z
   | t              dz  dz
  g}t        | t               | t              d       t               | t              gt        d|z  dz
         t        d      ft        d|z  dz
        t        d      ft        d|z  dz          t        d       ft        d|z  dz         t        d       fhfk(  sJ t        t        fd       t         t               t              j                  t              z   t        g       t              t         t              t              z   d
fk(  sJ t         t              t        t        t        t        f      z   t        g       t              t        t        t        t        f      z   d
fk(  sJ t         t              t        t        t        t        f      z   t        z   t        g      t         t              z   t        t        t        t        f      z   d
fk(  sJ t         t              t        t        t        t        f      z   t        z   t        g      t         t               t        t        t        t        f      z
  fk(  sJ t        t         t              |z  z
   t              d
z
  |z  z   t        g      t        d
|z  fk(  sJ t        t        t        dt        z  t              z         t        dfk(  sJ t        t        t        t        t              z   t        g      t        dfk(  sJ t        t        t        t        t              z   dz
  t        g      t        dt        d
z   z  fk(  sJ t        t        t        t        t              dz  z   t        t                          t        t                t        t               hk(  sJ t        t        t        t              z   t        d      t        t               gk(  sJ t        t!        t              t#        t              z
  t        d      g k(  sJ t        t        t#        t              z
  t        d      t#        t              gk(  sJ t        t        dz  t        z   dz
  t        d      t        dz   dz   gk(  sJ t        t        dz  t        z   dz
  t        dz  d      t         dz   gk(  sJ y )Nfghr_   rz   rx   r   rf  Tr   r   r}   c                      t          t                t              j                  t              z     t              g      S )Nr  )rF   rg   r	   r  s   rs   r   z!test_issue_5901.<locals>.<lambda>K  s)    L1!		!)<qtfM ru   r  r~   r   r   )r   r   r   r   rg   rE   r	   rh   r.   r   r]   r   rF   r<   r   r%   r4   r6   )r   re   r_   r  Gr   r   r   s          @rs   test_issue_5901rn  &  s   (E"GAq!sA1Q4A1Q4A1!		!$ad+
  11Q4 	
  1!A$))A,&!-	
1  !A$1Q499Q<'(!A$/	
1qs  !A$1Q499Q<'1q1q91Q4C
A#qAvz	  !A$'!A$'!AaD!GAaD!GO3adiilB!ad&
A$!
qtQwqtQw"
#	#AaD	(!A$/	adAgadAgo!	"1Q4	'1.0 	11 & 381q1q8H1Q4QR7STUVSWYZSZ?8Z]^_`]a]f]fgh]i8i!ad3&	& 1 qTYYq!_adQqTk*A!aK8!A$!ED$!D!!$7(DG	tAwa123 3 3Q47QqT>AadiilN*AaD!GaK
8CadAaDd+
A$!
qsQw-1	acAg!
qsQw-!A$	acAg1	  	!! ! ! MO!qtyy|+aS9	
1
1Q4#	#Q'( ( (!xAq622QC@	
1QF#	#Q'( ( (!xAq622Q6D	
QqTHQA'	'+, , ,!xAq622Q6D	
QqTEHQA''() ) )AaDF
adQh\1A3?	
AaC  JqsA../	
B  HQN*QC8	
A  HQN*Q.<	
Aq1uI   uQQ]CF+,
r(D!H  SVQ.
a&	  Q#a&!d3r999SVQ.	Q  AAq40
Q$  AAq!td3
a  ru   c                     t        t        t        dz  t        z
  dz
  d            t        j                  t        d      dz  z   t        d       dz  t        j                  z   hk(  sJ t        t        dz  t        z
  dz
  d      } t        |       dk(  rt        d | D              sJ t        t        dz  t        z
  dz
        } t        |       dk(  rt        d	 | D              sJ y )
Nrx   皙?Tr  re  r   Fc              3   4   K   | ]  }|j                     y wr   	is_Numberr   r_   s     rs   r   z"test_issue_5912.<locals>.<genexpr>n        : :   c              3   4   K   | ]  }|j                     y wr   rr  rt  s     rs   r   z"test_issue_5912.<locals>.<genexpr>p  ru  rv  )r   rE   rg   r   r   r.   r   r   )r   s    rs   test_issue_5912rx  j  s    uQTAX^d34	
$r(2+	Ry|aff456 6 6
1q3
/Cs8q=S :c ::::
1q3
Cs8q=S :c :::::ru   c                  p   d } t        t        dz
  d      d   j                  sJ t        t        dz
  d      d   j                  sJ t        t        t        j
                  z
  d      d   j                  sJ t        t        dz
  d       d   j                  sJ t        t        t        j
                  z
  d       d   j                  sJ  | t        ddt        z  z         d	d
t        z  z         sJ t        t        t        fD ]L  }t         |ddt        z  z   g            }t        |      |u r  | t        |      d   d	d
t        z  z         rLJ  t        t        dt        z  ddt        z  z   gi      j                               d   \  }} | |dt        z        r | |d   d	d
t        z  z         sJ  | t        t        dt        z              t        d
t        z              sJ  | t        dt        dz  z        dt        dz  z        sJ  | t        dt        dz  z  d      dt        d
z  z        sJ  | t        t        dt        z              t        d
t        z              sJ  | t        t        dz        t        dz        sJ  | t        t        dz  dt        z  z   t        t        dd            z   dz         t        dz  d
t        z  z   dz         sJ dt        z   t         z   t"        z   }t        dt        z   |z  dz
  dt         z   |z  dz
  t"        |z  dz
  f      g k(  sJ y )Nc                 |    t        | j                  t                    t        |j                  t                    k(  S r   )r   r  r   e1e2s     rs   testz!test_float_handling.<locals>.testt  s'    288E?#s288E?';;;ru   r  Tr  r   Fr}   rx         ?g       @rz   g      @r   r   g!,?r  gffffff?g333333?g?g333333?rp  )rE   rg   r  is_Floatr   r   rG   r   r   r   typeitemsr4   r%   r   ra   ri   rj   )r~  containr   rd   r^  tots         rs   test_float_handlingr  s  s   <S4(+7777S5)!,5555QVVe,Q/;;;;S4(+4444QVVd+A.::::q1Q3ws1u---%% HWa!A#gY'(CyG#T#Yq\3Q;(GGGH !a!A#gY'(..01!4DAq1Q3<D1sSU{333s1Q3x #c!e*---qAvAqD)))qAv-s1c6z:::s1Q3x #c!e*---qsQsU###q!taczCA$77!;<qD3q5L++- - - 'A+/C263,#b1fc\B%6#
CDJJJru   c                  L    t        dd      } t        | dz  dz
        dgk(  sJ y )Nrg   Tr  rx   r}   rb  r   s    rs   test_check_assumptionsr    s*    d#AA?qc!!!ru   c            	         t        t        t        dz         t        t        dz
        z  dz
        g k(  sJ t        t        t        dz
        t        t        dz         z  dz         t        t        z  t        dd      z  t         t        z  dz  t        t        z  dz  t        t        z  t        dd      z  gk(  sJ t        t        t        dz         t        t        dz
        z  dz   dz        t        t        z  t        dd      z  t         t        z  dz  t        t        z  dz  t        t        z  t        dd      z  gk(  sJ y )Nrz   r}   r   r   rx   )rE   r*   rg   r   r   r   r   ru   rs   test_issue_6056r    s   a!eT!a%[(1,-333a!eT!a%[(1,-rT(2q/!A2b57AbDFAbD!Q4GHI I I$q1u+d1q5k)A-12rT(2q/!A2b57AbDFAbD!Q4GHI I Iru   c            
          t          t        t        t        t        t                           t        t        t                     z        z   } t	        | t         d      du sJ t	        | t         dd      J y )Nrx   TFr>  )rg   r%   r$   r&   rP   r9  s    rs   test_issue_5673r    s]    
c#hs1v&'Q(889	9BB1%%%B1.666ru   c                     t        d      \  } }}}}}}}t        dd      }||z  |z  |d|z  |z  d| z  z
  z  z   |d|z  d|z  z
  z  ||z  z   ||z  |z  || |z  d| z  z
  z  z   || z  z   | |z   g}	t        |	||z  | z        |||| z  |z  dz   d	z  z  || z  |z  z  |||d	|z  ||| z  |z  z  z   ||| z  |z  |z  d
|z  z   ||| z  |z  z  z   i|d|d|d|digk(  sJ t        |	|||g      ||||d	z  |d	z  z   t        |d|z  z
  ||z
  z        d	z  z   | |d
|z  z
  t        |d	z  d|z  |z  z
  d|d	z  z  z         z
  d	|z  |z  |z  z  ||||z
  z  |z  i||||d	z  |d	z  z   t        |d|z  z
  ||z
  z        d	z  z
  | |d
|z  z
  t        |d	z  d|z  |z  z
  d|d	z  z  z         z   d	|z  |z  |z  z  ||||z
  z  |z  ig||||d	z  ||z  z
  |d	z  z
  |d	|z  z
  z  ||||z
  d	z  z  ||d	|z  z
  z  z  | |||z  |d	|z  z
  z  z  igfv sJ y )Nz$R, C, Ri, Vout, V1, Vminus, Vplus, sRfTr  r~   r}   r   r   rx   rz   r   ry   r   r   rE   r.   )
rm   r  RiVoutV1VminusVplusr   r  r   s
             rs   test_excluder    s3   67 )Aq"dBq		%BR46E2a46AaC<((2b51R4< 47*U719rA2a4!A#:&a/7U?C ac!e$AaCEAI>!1Q3q5)E%%1Q-'!A#e)A+%'%1Q-7		9 1A!		)    uam,
DFU1WtTAeG^dUl$CDQFF	D1U7NT$'AdF5L"81UAX:"EFF1USTU
Bue#	3 	
DFU1WtTAeG^dUl$CDQFF	D1U7NT$'AdF5L"81UAX:"EFF1USTU
Bue#	
2 	r1ur%x%(*R!E'\:
BU
QrAeG| 45	5!A#rAeG|$%	
 	1   ru   c                      t         dz  dt         dz  z  z   dt         dz  z  z   t        dd      z   } t        t        |             t        t	        | dz  d      j                               k(  sJ y )Nry   r   rz   rx   r   ZZ)domain)rg   r   r   rE   rA   	all_roots)r   s    rs   test_high_order_rootsr    s^    	1qAv!Q$!Q/AuQx=CQqS 6 @ @ BCCCCru   c                     ddd} ddd}t        t        t        z   dz
  dt        z  t        z
  dz
  gfi | t        dt        dik(  sJ t        t        t        z   dz
  dt        z  t        z
  dz
  gfi |t        dt        dik(  sJ d } |t        t        t        z   t        z   t        t        z   t        z   t
        z   gfi |       dk(  sJ  |t        t        t        z   t        z   t        t        z   t        z   t
        z   gfi |      dk(  sJ  |t        t        t        z   t        z   t        t        z   t        z   gfi |       dk(  sJ  |t        t        t        z   t        z   t        t        z   t        z   gfi |      dk(  sJ t        g d	g d
g dg dg dg dg dg dg dg dg dg dg      }t        t        dd            }t        dgdgdgdgdgdgdgdgdgdgdgdgg      }||z  |z
  }t        |      g k(  sJ t        |d      g k(  sJ t        d t        t        t        z   t        z   t        t        z   t        z   g      j                         D              sJ dD ]|  t        d t        t        t        z   t        z   t        t        z   t        z   gd      j                         D              rJ t        t        fd       t        t        fd       ~ t        t        d        y ) NTquick
particularFry   rx   r}   rz   c                 f    t        | j                         D cg c]
  }|dk(  s	| c}      S c c}w )Nr   )r   values)dicrg   s     rs   countz*test_minsolve_linear_system.<locals>.count  s'    szz|6!qAvA6776s   
..)r}   r}   r}   r   r}   r}   r   r}   r   r   r}   r}   r}   r   )r}   r}   r   r}   r}   r   r}   r   r}   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r}   r}   r   r}   )r}   r   r}   r}   r   r}   r}   r   r   r}   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r}   r   r}   r}   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r}   r}   r}   r   r   r   r}   r}   r}   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r}   r}   r}   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r}   r}   r}   r}   r}   r}   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   zv:14r  r~   r   r  c              3       K   | ]  }|  y wr   r   r   r^  s     rs   r   z.test_minsolve_linear_system.<locals>.<genexpr>  s     AQqA   )TFc              3       K   | ]  }|  y wr   r   r  s     rs   r   z.test_minsolve_linear_system.<locals>.<genexpr>  s      'Qq 'r  c                  .    t        t        dz   g       S )Nr}   )r  r   _qs   rs   r   z-test_minsolve_linear_system.<locals>.<lambda>  s    5!a%#; ru   c                  0    t        t        dz   g d      S )Nr}   Fr  r   r  s   rs   r   z-test_minsolve_linear_system.<locals>.<lambda>  s    5!a%u#M ru   c                  *    t        t        dz   d      S )Nr}   Tr  r   r   ru   rs   r   z-test_minsolve_linear_system.<locals>.<lambda>  s    uQUt< ru   )rE   rg   rh   ri   r_   rj   r?   r   r   r  r]   r   )pqtpqfr  r  r^  r  r   r  s          @rs   test_minsolve_linear_systemr    s   
-C
.C!a%!)QqS1Wq[)1S1aAq\AAA!a%!)QqS1Wq[)1S1aAq\AAA8A	1q519q=19S9:a???A	1q519q=19S9:a???A	1q519-556!;;;A	1q519-556!;;;@@@@@@@@@@@@B 	CA 	wvt,-AbTA3aS1#sQC!	
aS1# 	A
A#a%C:&",,,A%QAEAI 67>>@AAAA O '%UQYA	""##VX' ' 	' ' 	z;<zMNO :<=ru   c                  h    t        dd      } t        t        | dz  | dz  z   dz               dk(  sJ y )Nrg   Tr  ry   rz   r}   )r   r   rE   r   s    rs   test_real_rootsr    s6    sAuQTAqD[1_%&!+++ru   c                      dt         dz  z  dt         z  z
  dt        dz  z  z   dz
  dt         dz  z  dt         z  t        z  z
  dt        dz  z  z   d	z
  g} t        t        | t        t         d
            dk(  sJ y )Nicˆrx   iQAiTkl   1'	 ia5iPQRil    d(	 Fr   r   )rg   rh   r   rE   )r   s    rs   test_issue_6528r    sz    !Q$!#jAo5
B!Q$1Q&1a47+EGC
 uS!Qe,-222ru   c                  T   t        dd      } t        d| z  dz
        dz
  t        dd| z  z
        d	z
  g}t        ||       t        j                  fgk(  sJ t        || d
      t        j                  fgk(  sJ t        || dd      t        j                  ft        d      fgk(  sJ y )Nrg   Tr  r   r   ry   rz   r  r}   r  FrP  )r   r   rE   r   r   )rg   r   s     rs   test_overdeterminedr    s    $AqsQw<!SQqS\A-
.Ca=affYK'''a%166)444aE2y1Q4'6JJJJru   c                     t        d      } t        d| dz  z  d| dz  z  z
        ddt        z  t        z  t	        d      z  gk(  sJ t        dd      } t        d| dz  z  d| dz  z  z
        dgk(  sJ t        d	      t        t	        d            z  t        t	        d            z  }t        d| dz  z  dd| z  z  z
        | |gk(  sJ y )
Nrg   r   rx   rz   r   Tr  ry   r   )r   rE   r   r   r&   r.   )rg   r`   s     rs   test_issue_6605r    s    AQqSA!H$%!QqSVCF]);;;;$AQqSA!H$%!,,,QSVT#a&\)AQqSA!H$%1"a000ru   c                  h    t        t        dz        sJ t        t              rJ t        d      rJ y )Nrx   T)rR   rg   r   ru   rs   test__ispowr    s-    !Q$<<ay=d||ru   c                  ,   t        t        t        z
  dz  t         dt        z  z  t        j                  z   dz  z          t        t        dz   dz  t        dt        dz  z  dt        dz  z  z
  dt        z  z   dz         dz  z
  t        dd      z
  dz  t        dz  dz  t        z
  t        dt        dz  z  dt        dz  z  z
  dt        z  z   dz         dz  z
  t        dd      z
  dz  z         z   } t        | t        dd      }t        |      dk(  sJ y )Nrx   r   r  r}   Fr.  ry   )r.   rl   rk   r   r   r   rE   r   r   r   s     rs   test_issue_6644r     s$   
AzaR1X.22
3	3dQTE!GdadFQq!tVOacAG G! =!#+Aq>=245<69:Aa!dadFQq!tVOacAG G! :!#+Aq>:24596<6 77 
7B AU
3Cs8q==ru   c                  
   t        t        dz  t        z   t        t        z
  gt        t        g      ddgk(  sJ t        t        dz  t        t        z  z   t        t        z
  gt        t        g      dt         t         fgk(  sJ y )Nrx   )r   r   r  )rE   r_   r`   ra   r   ru   rs   test_issue_6752r  (  sl    !Q$(AE"QF+&/AAAA!Q$1*a!e$q!f-&A2r(1CCCCru   c                     t        t        t        dz
  dz  z  t        dz   z  t        dz  t        z
  dz   z        dddt        t        dz  t        z
  dz   d      t        t        dz  t        z
  dz   d      t        t        dz  t        z
  dz   d      t        t        dz  t        z
  dz   d      t        t        dz  t        z
  dz   d      t        t        dz  t        z
  dz   d      g	k(  sJ y )	Nr}   rx   r   r   r   rz   r   ry   )rE   rg   rY   r   ru   rs   test_issue_6792r  -  s    AEA:q1u%q!tax!|45
Aq'!Q$(Q,*GAqD1HqL!,D	AAq	!71a4!8a<#;	AAq	!71a4!8a<#;:= = = =ru   c            
      	   t        dd      \  } t        t        dz         dt        dz
        z  z
        ddgk(  sJ t        t              dz
  t              t        z
  g      dgk(  sJ t        t        t        d	z
        d
z
              t        j                   t        d      hk(  sJ t        t        t        dz         t        dz  d	z
        z   d            t        dd      t        d      dz  z   t        d       dz  t        j                  z   gk(  sJ t        dt              z  t        dz
        z
        dt        dd      gk(  sJ t        t        dz  z   dz         dz   z        g k(  sJ t        t                    dgk(  sJ t        t        t        dz  dz  z
        d            dt        d      z
  dt        d      z   gk(  sJ t        dd      }t        t        t        |                  dgk(  sJ t        dd      }t        t        t        ddd|z  z  z         d            t        dd       gk(  sJ t        d      t        t              dz
  t              dz
  g      ddt        z  z   t              dt              digk(  sJ t        t              dz  t              dz  z         dz
  }t        |      t        |      k(  sJ t        dd      }t        t        |      dz
        dt        z  dt        z  gk(  sJ t!        t"        fd       t        dd      }t        d|z  z  d| |z  z  z
  |      t        | z  |z  dz
  |      k(  sJ t        dd      \  } t        | t        z  z   dz         | ddik(  sJ t        dt        z   z        dgk(  sJ t        dd      \  } t        | t        z  z   dz   dt        z  z         dt        z  | dt        z  ik(  sJ t        dd      t        | z   dz   dt        z  z         d| dt        z  ik(  sJ t%        d      }t         |dz          |dz  dz
        z
        dgk(  sJ t        t'        dz         t'        dz  dz
        z
        dgk(  sJ t        d      t        dz  dz  z         t        t        z  t'        d      z  gk(  sJ y ) Nx yTr  rz   rx   r}   rf  )r~   r   r  r   r   r@  rY  r   r   ry   nn)nonnegativenz)nonzeror   rg   r   	imaginaryr   c                  2    t        t               dz
        S r  )rE   r  r   s   rs   r   zBtest_issues_6819_6820_6821_6248_8692_25777_25779.<locals>.<lambda>X  s    c!fqj(9 ru   r  r  r~   r   )r   rE   r  r    r   r   r   r   r   r   r   r.   r   r#   r"   r   r]   r   r   r&   )rh   r  r  r   r   r  r   rg   s          @rs   0test_issues_6819_6820_6821_6248_8692_25777_25779r  4  s   5t$DAqQUaAE
l*+1v555#a&1*c!frk*A.5'999uSQZ!^$%155&!B%888 CAJQTAX.2A6Q$r(1*$tBxikAFF&:;< < < < 3q6CAJ&'BA+???? QTAX\"AE*+r111 Q=QCC1qs
OQ'+	DGQa[0" " " "	4	(BT"XA3&&&	t	$BCA2J'+,(1b/1A0BBBBA"Q%!)RUQY'+	
A!GRUAr!ua(0* * * * 
beQhA!	"Q	&B9b!$$$t$AQ!Aqs+++
 9:T"A1a4!AqD&!$qsQhlA(>>>>5t$DAqQqS1!Q2...AEs"""5D)DAqQqS1qs"#2a4AaC'8888$AQQqS!aQ1%5555 	A1q5AacAgJ&'A3...QUc!A#'l*+s222AA1!B$s1v+...ru   c                     t        dt        dt        z        z
  t        t              z  t        dt        z        dz   dz  z  dkD  t              t         t        k  t        t	        d      dz  k  z  k(  sJ t        dt        dt        z        z
  dz   t        t        dz         z  t        t              dz   dz  z  dkD  t              t         t        k  t        t	        d      dz  k  z  k(  sJ t        t        t              dz   t        dz  z   t        dt        z  dz         z  t        t              dz   dz  z  dkD  t              t         t        k  t        t        k  z  k(  sJ y )Nrx   r   r   )rE   r%   rg   r   r&   r   ru   rs   test_issue_17638r  p  s&   1S1X:s1v%AaC
Q6:A>B37qSVWXSYZ[S[|B\\\\1S1X:a<QqS)CF1Hq=81<a@bS1WQRUXYZU[\]U]Q]D^^^^#a&(1a4-QqSU+SVAXM9A=qArcAgRSVXRXEYYYYru   c                  F   t        d      \  } }}}}}| dz  |z  |z  | |z  z   | |z  z   dz   || z  | |z   z  z  }t        ddd      \  }}}	|dd|| z  z  z   |	| z  z   z  }
||
z
  j                         }|t        |      j                         z  }t	        ||       }|j                         }|||	g}t        ||d      } t        |       dk(  sJ |||z    |||z
  z  z  |||z   |	||z  ||z   z  i}|D ].  }| d   |   j                         ||   j                         k(  r.J  y )	Nzs, tau_c, tau_1, tau_2, phi, Krx   r}   zK_C, tau_I, tau_DT)r  r  r{   r   )r   togetherrC   r   rA   r  rE   r   )r   tau_ctau_1tau_2phiKtargetK_Ctau_Itau_DPIDr   ra   varsknownsolutionvars                   rs   test_issue_14607r  x  sw   %,(&*"AueUC d5j5(1U72Q61sdUl9KLF 3)-t=C
q1eAg;q(
)C
3,	 	 	"B%)


B	b!B
		ADaD!Aq6Q;;EEM*AsU{O<EEME%K79M  EtCy!!#}S'9'B'B'DDDDEru   c                     ddl mm t        t	        dz  z   t              z   z               t              hk(  sJ t              g k(  sJ t        dz  dz  z
  dz   j                  t              dz  z               t        dt        j                  z        dz  gk(  sJ t        dz  dz  z
  dz   j                  t              dz  z   dz  dz
              t        dt        t        d             z        dz  t        dt        t        d            z        dz  gk(  sJ t        dz  dz  z
  dz
  j                  t              dz  z               t        dt        dt        d      z
        z        dz  t        dt        dt        d      z         z        dz  gk(  sJ t              z  dz
  j                  t              z        } t        |       t        dt        t        d             z        gk(  sJ t        t        fd       ddt        t        d       dz        z  t        d      z  g}t        dz  dz  z
        |k(  sJ t!        t        dt              z  t        d      z  z
              t!        |      k(  sJ t        t        dz        z
        t              z  dz  gk(  sJ y )Nr   rg   rh   r}   rx   rz   c                  R    t         t               t         z
        z  z
         S r   )rE   r6   r&   r  s   rs   r   z+test_lambert_multivariate.<locals>.<lambda>  s$    a#a&QU2C.CQ(G ru   r   )r  rg   rh   rK   rA   r%   rM   rE   r   r&   r$   r   r  r.   r]   r   r   )r   r   rg   rh   s     @@rs   test_lambert_multivariater    s   $q1Q3wQ/!34a8QAKGGGAq>R!Q$1*q.&&q#a&1Q3,78Xah=OPQ=Q<RRRR!Q$1*q.&&q3q6AaC<!*;a*?@AAc47(mO$Q&3tAw<(@(B
CD D D!Q$1*q.&&q#a&1Q3,78Ac!d1g+&&')8Ac!d1g+6F4F+G+I
JK K K
CF(Q,		Q#a&	)B9!C!$5"567777
 GHb3q6'!)$$SV+
,CA1a C'''uQs1vX#a&()*c#h666!A#"A&1SV8A:,666ru   c                  \   t        dt        t              z  t        t        d      z  z
  t              dgk(  sJ t        t        t        t        z  t        t        z  z
        t              t        t         t        t        t               t        z        z  t        t              z  hk(  sJ y r  )rE   r6   rg   r   r_   r$   r&   r   ru   rs   test_other_lambertr    s    3q6Ac!fH$a(QC///uQTAqD[!1%	A2hAwqy!!#a&(** * * *ru   c                     t        t        dz  t        z   t        t        dz  t        z         z  dz
        t        dd      t	        ddt        d      z  z         dz  z   t        dd      t	        ddt        d      z  z         dz  z
  gk(  sJ t        t        dz  t        z   t        t        dz  t        z   dz        z  dz
        t        dd      t	        ddt        d      z  z         dz  z   t        dd      t	        ddt        d      z  z         dz  z
  gk(  sJ t        t        t        z  t        t        dz        z   t              dt        t         dz        z  gk(  sJ t        t        t        z  t        t        dz        z   j                  t              t              dt        t	        d       t	        t              z  dz        z  dt        t	        d      t	        t              z  dz        z  gk(  sJ t        dt        z  t        t        dz        z   j                  t              t              dt        t	        d       dz        z  dt        t	        d      dz        z  dt        t	        d       dz  d      z  gk(  sJ t        t        t        t              z  dt        z  z   dz   t              t        dt        t        d             z         gk(  sJ t        t        dz   dt        z  z   t              dddt        t        d      dz        z  t        d      z  gk(  sJ t        t        dz  dt        z  z
  t              dddt        t        d      dz        z  t        d      z  gk(  sJ t        dt        z  dz   dd	t        z  dz   z  z   t              } t        |       dk(  rW| d
   j                         t        d	d      t        dt        dd      z  t        d      z  dz        dt        d      z  z  z   k(  sJ t        dt        z  dz
  dt        ddt        z  z
        z  z   t              t        dd      t        dt        t        dd            z  dz        dz  z   gk(  sJ t        t        t              t        z   j                  t        t        dz  dz               t         t	        t        d       dz         z  t	        dt        d      z         gk(  sJ t        dt        z  dz   z  }t        dt        |      z  t        t        |      z  z   |z   t              } dt        t              z  }t	        d      t        z  }t        dz   }|t        d|z        z  t        dz  z  }|t        dd      z  dz  }| |t        || dz
  z        z  |t        ||dz
  z        z  |t        |      z  dz  gk(  sJ t        t        dd            }t        d	z  }dt        dd      z   }dt        dd      z  t        z  }|t        dd      z  |t        dd      z  z  dz  }t        dt        |      z  |z   t              } | |t        d|z  |z        z  dz  |t        |||z
  z        z  |t        |||z   z        z  gk(  sJ t        dd      }ddd|z  dz   z  z  d|z  z
  dz
  }	t!        |	|t#        t%        |	      |            t        dd      t        dt        d      z        dt        d      z  z  z
  gk(  sJ t'        t        dt)        t              z  t)        t              dz  z
              t+        d      t+        dt        t        d       dz        z  t        d      z        hk(  sJ t        dt        t              z  dt        t,              z  z
  t        t,        t        t              z   t        t,              z         z   t              t        t,         t        dt,        dz  z  t        dt,        z        z        dz  z         t,        z  gk(  sJ t        t        t        z  t        t        dz        z   j                  t        d      t              } t         t        dd      z  }t	        d      t        z  }|dz  }| dt        |dz        z  dt        || dz
  z        z  dt        ||dz
  z        z  gk(  sJ t        dt        z  t        t        dz        z   j                  t        d      t              dt        t        dd            z  dt        t        dd      t	        d      t        z  dz  z
        z  dt        t        dd      t	        d      t        z  dz  z         z  dt        t        dd      d      z  gk(  sJ t        t        dz  t.        dz  t        t              z  z
  t        t.        d      t        dt        t.         dz        z  it        dt        t.        dz        z  igk(  sJ t        t        dz  t        dz  z  t0        dz  z   t              t        t        dt        d      z  dz  dt        t0              z  dz  z   t        t0        z  t        dd      z  z               gk(  sJ t        dt        t	        t              dz         dz  z  dt        z  z
        t        t        d       d      dz   dz  gk(  sJ t        dt        dt	        t              z  dz         dz  z  t        z
        t        t        d       d      dz   dz  gk(  sJ t        dt        t        dz  dz         dz  z  t        dz  z
        t         t	        dt        t        d            z
        z  t         t	        t        t        d             dz         z  t	        dt        t        d             z
        t	        dt        t        d            z         t	        dt        t        d       d      z
         t	        dt        t        d       d      z
        gk(  sJ y )Nrx   r}   r   r   rz   r   r~   ry   r   i r   ir   rf   Tr  r  r{   )rE   rg   r%   r   r.   r$   r_   r	   r&   r   r  r-   r   r   r`   r   rL   rK   rA   r   r4   r0   ri   rh   r   )
r   axr   r!  r{  r|  r}  r~  rf   r   s
             rs   test_lambert_bivariater    sC    !Q$(C1qM)A-.Q$q1Xa[=01!33Q$q1Xa[=01!3335 5 5 5 !Q$(CA1--12Q$q1Xa[=01!33Q$q1Xa[=01!3375 5 5 5 1s1Q3x#(A2a4.(8'9999!A#AaC.&&q)1-xaa(*++QxQQ8I/J-JKL L L!A#AaC.&&q)1-	
8T!WHQJ		(4719
	(DG8A:r
""	$$ $ $ 3q6AaC!#Q'hAw''()* * *!Q$Aq!aBxAq/A,A#a&,H%IIIIA1a Q2hs1vax.@+@Q+G$HHHH
!a!bdQh-'
+Cs8q=SV]]_Q(6$q!*#4SV#;A#=>#a&IIJ J J1q1SQqS\>)1-	!Q(3s8Aq>':#:1#<=a?	?@A A A#a&1*""1adQh/0	
4!q !!4Xa[(8#95; ; ; ; 
QqS1WB
#b'	Ac"gI%*A
.C	
3q6B	aB	
QB	HQrTN	1a4	B	Xa^	A	B
3rB37|
3r26{
3r7
1    
(1a.	!B	
RB
Xa^
	B	
HQN	1	B	Xa^	BA.	.q	0B
#b'	B
"C
3qtBw<
3r27|
3r27|   
 	d#A	
1qsQw<!A#		!B"aR!!<=Q(2c!f9-qQx88B: : : :uQAYQ*+,Qb3q6'!),,SV3416 6 6 6 3q6Ac!fH$s1s1v:A+>'??CQB!AqD&QqS/*1,,-a/H1 1 1 1 1s1Q3x%%a+Q
/C"x1~	B	aB	AB	(2a4.	(2sQw<
  	(2rAv;
! ! ! ! !A#AaC.&&q!,a08HRO,,a!Q$q'RS)TU+9U0V.V(8Aq>DGAIaK788!HXbRS_VX<Y:Y[[ [ [ A1SV#Q5Qx1~%&AhqsmO(<=> > > !Q$!A#A%q)HRAYq[1SW9Q;.2hq!n1DDEF.H H H H !CQ!$a''!A#-/	3r7(B	!	#a'4) ) ) )!C$q'	A&))A-/	3r7(B	!	#b(4* * * *!C1qM1$$q"u,.	
4HSV$$%%	
4#b'"Q&''R(CG8$$%R(3q6""#	b8SWHb))	**R(CG8R(()3+ + + +ru   c                     t        t        t              t        t              z         dt         t        dt        z  gk(  sJ t        t        t              t        t              z         dt        t        dd      t        d      t        dt        d      t        z  z
        z  dz  z   t        d      t        z  dz  z         z  dt        t        j                  t        d      t        dt        d      t        z  z         z  dz  z
  t        d      t        z  dz  z         z  dt        t        j                  t        d      t        dt        d      t        z  z         z  dz  z   t        d      t        z  dz  z         z  dt        t        j                  t        d      t        z  dz  z
  t        d      t        dt        d      t        z  z
        z  dz  z         z  gk(  sJ t        t        t              t        t              z         dt        t        z  gk(  sJ t        dt        t              z  t        t              z
  t              t        t        j                        gk(  sJ y )Nr   rx   r~   r   r}   rz   )rE   r6   rg   r7   r   r5   r2   r   r.   r   r   r   r)   r*   r4   r   ru   rs   test_rewrite_trigr    s   Q#a&!a"b!B$%7777Q#a&!
4Q$q'$q4719}*="=a"??$q'!)A+MNN	$qvvQQa] 33A55Q	!C
DDaQVV
q'$q4719}%
%a
'N(*.q'!)A+N6 I7 G789$qvvQ	!@1gd1tAwqy=11!3@4 ;5 95&6 6 6 6
 a47"#1R4y000 3q6CF"A&4<.888ru   c                     ddl m}  t        t        t               | t              z         dt        t        dd      t        d      dz  z   t        dt        d      z  dz         dz  z
        z  dt        t        dd      t        d      dz  z   t        dt        d      z  dz         dz  z         z  dt        t        d       dz  t        j                  z
  t        ddt        d      z  z         dz  z         z  dt        t        ddt        d      z  z          dz  t        d      dz  z
  t        j                  z
        z  gk(  sJ y )Nr   sechrx   r   ry   r~   )
%sympy.functions.elementary.hyperbolicr  rE   r)   rg   r'   r   r.   r   r   r  s    rs   test_rewrite_trighr    s    ;a47"#	%Q$q'!)+d2d1g:>.B1.DD
EE	%Q$q'!)+d2d1g:>.B1.DD
EE	%a
QVV#d1qay=&9!&;;
<<	%a!DG)m$$Q&a2QVV;
<<	(> > > >ru   c            
      <   t         t        t              z
  t        t        t        dt        dz  t        dz  z  z   z  z        z   } t	        | t        d      t        t        t        t        t               z
  z         t        t        t        t        t               z
  z        gk(  sJ t	        t        t        dz         t        ddt        z  z         z   dz
        dt        dt        d      z         t        t        dd            z  dz  z   t        d      dz  z   t        dt        d      z          t        t        dd            z  dz  dz
  t        d      dz  z   gdt        d	t        d       d
z   dz  z         dz  z   t        d      dz  z   dt        d	t        d       d
z   dz  z         dz  z
  t        d      dz  z   gfv sJ t	        t        t        dt        z        dz         t        t        t               dz         z   t        d      z
        g k(  sJ y )Nr   rx   T)forcerz   r}   r   iir   )	ri   r&   rg   rh   rE   r.   r%   r   r*   r9  s    rs   test_uselogcombiner  #  s   	
SVc!QQT!Q$Y/01	1BQd#aSVn)=(=tAq3q6zN?S'TTTTQUc!ac'l*Q./	d3Q< Xa^!44Q6	6Q	A	cCFl	CA//1A5Aq@	B	d33q6'A+))*1,	,s1vax	7
T##a&1q(()!++c!fQh6	84
 
 
 
 S1X\"S$q'A%66Q?@BFFFru   c                  x    t        t        t        d      t        dz  z
  t              dt	        d      z  gk(  sJ y r  )rE   r3   rg   r   r.   r   ru   rs   
test_atan2r  /  s0    q!r!t#Q'Ad1gI;666ru   c                     t        t        t              t        z
  t              t	        t              gk(  sJ t        t	        t              t        z
  t              t        t              gk(  sJ t        t        t              t        z
  t              t        t              gk(  sJ t        t        t              t        z
  t              t        t              gk(  sJ y r   )rE   r8   rg   rh   r;   r9   r:   r   ru   rs   test_errorinversesr  3  s    Q!QF1I;...Q"s1vh...a1a WQZL000a#Qy000ru   c            
      ,   t        d      } t        d      | z  t        d| dz   z        z  | dz   t        d      t        d| dz   z        z  dz
  z  z   }t        || d      d   }|t        dd      t        dd      t        d      t        z  dz  z
  t        d	d
      t        d      t        z  dz  z   t        dd      z  z  z   ddt        dd      t        d      t        z  dz  z
  t        d	d
      t        d      t        z  dz  z   t        dd      z  z  z  z  z   ft        dd      ddt        d	d
      t        d      t        z  dz  z   t        dd      z  z  z  z   t        d	d
      t        d      t        z  dz  z   t        dd      z  z   fhk(  sJ y )Nrm   rx   r}   Tr   ry   rz   r      r   o   rf  r-  )r   r.   rE   r   r   )rm   r   r   s      rs   test_issue_2725r  :  s   sA	a41q5	?	"a!ed1gd1a!e9o.E.I%J	JB
A4
 
#CHQNhr1oQ	!&ChsTVFWS	!AG AF' &' ')+Q"a4719Q;1NQYZ]_aQbS	!AR AQ' 1' .( *)) +-5a^b!XcSUEVS	!AF AE' C' ?( .(+3C+<tCy{1}+LxXY[\~*].^ -`a a a aru   c                  L   t        d      \  } }}}}}}}}}	}
}}}}}}t        | ||z  z
  ||z  z   g|d|z  d|z  z   d|z  z   z  ||z  z
  ||z  z
  g| |z  |d|z  d|z  z   d|z  z   z  z   ||z  z
  g| |z  |d|z  d|
z  z   d|z  z   z  z   |	|z  z
  g| |z  |	d|z  d|z  z   d|z  z   z  z   ||z  z
  g|	 |z  |d|z  d|z  z   z  z   gg      }t        |||	|| |g      }t        t        |      t        |      d      }t	        d |j                         D              dk  sJ y )Nzb:rr}   Fr  c              3   <   K   | ]  }|j                           y wr   )	count_ops)r   r   s     rs   r   z'test_issue_5114_6611.<locals>.<genexpr>R  s     3q{{}3r   i  )r   r?   rE   r   r  r  )r`   ra   rb   rc   r   r   re   r   rJ  rd   rK  rl   rq   r  rf   rk   r   r   r^  r   s                       rs   test_issue_5114_6611r  D  s   
 9@5Aq!Q1aAq!Q1aA
	
QqS1Q3!QqS1Q3Y1_-!3ac9:
A1Q319qs?#	#ac	)*aRTAqsQqSy1Q34G-G!A#-M,N
A1Q319qs?#	#ac	)*aRTAqsQqSyM-A,BD EC 	1aAq!"A
S	47U
3C 3cjjl33t;;;ru   c            	         t        ddt        d            }  | j                         t        |       k(  sJ d| d<    | j                         t        |       k(  sJ t        ddt	        t        d                  }  | j                         t        |       k(  sJ t        ddd      }t        |      t        |      cxk(  r|j                         k(  sJ  J y )Nrz   za:9r}   r  rf  rx   )r}   rx   r}   r   )	r?   r   detrS   r   r  r@   rT   rU   )rl   r   s     rs   test_det_quickr   U  s    q!WU^$A1557il"""AdG1557il"""q!T%(^$A1557il"""Q<(AA;)A,1!%%'11111ru   c                  "   t        dd      \  } }t        t        | dz  |dz  z         dz
  |       t        |dz   dz          t        |dz   dz         gk(  sJ t        dd      \  } }t        t        | dz  |dz  z         dz
  |       g k(  sJ y )Nza bTr  rx   rz   rf  r  r  r  s     rs   test_real_imag_splittingr  a  s    5t$DAqadQTk"Q&*
1uqy/	4A	?+, , ,5D)DAqadQTk"Q&*b000ru   c                      dt         dz  z  dt         dz  z  z   dt         z  z
  dz   } t        d t        |       D              sJ y )Nr~   rz   r   rx   ry   c              3   X   K   | ]"  }t        t        j                  |             $ y wr   )r   r   r  r   s     rs   r   z"test_issue_7110.<locals>.<genexpr>k  s     0!s166!9~0s   (*)rg   r5  rE   r   s    rs   test_issue_7110r  i  sB    
1a4!AqD&1Q3"A0uQx0000ru   c                  \    t        dt        z  ddt        z  z  z
        dt        z  gk(  sJ y r  )rE   rg   rX   r   ru   rs   
test_unitsr  n  s+    1q!B$x QrTF***ru   c            	      J   t        d      \  } }}t        d|dz
  z  |z  |dz   z  | z
  |z   d      }t        |d|dz
  z        }t        | d|z  |dz   z        }t        t        t	        |||      | ||gd            }t        |      t        t        d	gd
gdgg            k(  sJ y )NzA,B,VgGz@g     C@r*  r   g    d6Ag    0!A)r   r   r   z4442890172.68209z4289299466.1432z70.5389666628177)r   r   r?   rD   r   r  )r  r  r  eq1eq2eq3r   s          rs   test_issue_7547r  r  s    gGAq!
VQXq !b&)A-11
5C
Q
AF#
$C
Q
1a$h'
(C
c3,q!QiC
DCs8s6
	
	
		  ! ! ! !ru   c                  X    t        dd      } t        t        |       dz
        dgk(  sJ y )Nr   Tr  rx   r   r  )r   s    rs   test_issue_7895r  ~  s+    $Aa1!$$$ru   c                     t        dd      \  } }t        | dz  |dz  z         dz
  t        |dz  |  dz   dz  z         dz
  }}t        dd      dt        d	      z  dz  }}|| f||fg}t        ||f| |f      |k(  sJ t        ||| |z
  z  f| |f      g k(  sJ |d
z  }t        ||f| |f      g k(  sJ t        ||f| |fd      |k(  sJ y )Nr  Tr  rx   r   rz      r   i  r   Fr   )r   r.   r   rE   )rg   rh   r|  r}  r_   r`   r   s          rs   test_issue_2777r    s   5t$DAq!Q$A+#T!Q$1"r'A*=%>%BBCaS	k"nqAr7QF
C"bAq6"c)))"b!a%j!Aq6*b000!GB"bAq6"b((("bAq6/3666ru   c                  F    d} t        t        | z
  t              d   | k(  sJ y )Ng{[Rs8r   r   )numbers    rs   test_issue_7322r    s%    FVQ"f,,,ru   c                      t        t        d        t        t        d        t        t        d        t        t        d        y )Nc                  &    t        t        dd      S )N)r   r}   bisect)methodrD   rg   r   ru   rs   r   ztest_nsolve.<locals>.<lambda>  s    vaB ru   c                      t        t        t        z
  dz   t        t        z   t        t        z
  ft        t        t        fd      S )Nrz   )ir+  )rD   rg   rh   ri   r   ru   rs   r   ztest_nsolve.<locals>.<lambda>  s,    fa!eaiAa!e%<a!WXN ru   c                  J    t        t        t        z   t        t        z
  fd      S )Nr  )rD   rg   rh   r   ru   rs   r   ztest_nsolve.<locals>.<lambda>  s    fa!eQU^V< ru   c                  2    t        t        dk  t        d      S )Nr  r}   r  r   ru   rs   r   ztest_nsolve.<locals>.<lambda>  s    fQWa3 ru   )r]   r   r   r   ru   rs   test_nsolver    s.    
:BC
9NO
9<=
934ru   c                  d   t        t        t        t        dz  z  t        z
  dz   t                    dk(  sJ t        t        t        t        dz  z  t        z
  dz   t                    dk(  sJ t        t        t        dz  z  t        z
  dz   t              g k(  sJ t	        t
        d        t        dz  t        z
  dz   } t        | dd| z  z   z        t        d      D cg c]  }t        | dz   |       c}k(  sJ t        dz
  } t        | dd| z  z   z        t        j                  gk(  sJ y c c}w )Nrz   r}   r   ry   c                  V    t        t        t        dz  z  t        z
  dz   t        d      S )Nry   r}   F)
incomplete)rE   r_   rg   r   ru   rs   r   z.test_high_order_multivariate.<locals>.<lambda>  s#    a1fqj1naE2 ru   rx   )
r   rE   r_   rg   r]   r   r  rY   r   r   )rb   r   s     rs   test_high_order_multivariater!    s   uQq!tVaZ!^Q'(A---uQq!tVaZ!^Q'(A---1a4!a#r)))
 !3 4
 	
1q1AA!GU1X!F'!a%"3!FFFF	AAA!G!&&))) "Gs   D-c                      t        dt        z  dz
        dgk(  sJ t        dt        dz
  z  dz
        dgk(  sJ t        t        dd            ddgk(  sJ y )Nr   r}   rx   zx*(1/x**0 - x)Fevaluate)rE   rg   r   r   ru   rs   test_base_0_exp_0r%    se    A?qc!!!QUa QC'''#e45	
A  ru   c                     t        dt        dz  z  t        g      t               k(  sJ t        dt        t        z  z  t        g      t        t        z  hk(  sJ t        dt	        t        d      z  t        g      t        hk(  sJ y )Nr}   r   rz   )rV   rg   r   rh   r-   r   ru   rs   test__simple_densr'    sk    !Q$$---!Q$$A...$q!*qc*qc111ru   c                  z   t        t        t        t              t        z  t        dz  z   dz
  t                    dk(  sJ t        t        dt        dz  z  dt        dz   t        dd      z  z  t        dz  z  z   dt        dz   t        dd      z  z  t        z  z
  dt        z  z
  dz   t        d	
            dk(  sJ y )Nrz   r}   r'  r(  rx   r)  r  r*  Fr+  )r   rE   r.   rh   rg   r   r   ru   rs   test_issue_8755r)    s     uT!WQYA%)1-.!333uT!Q$Yq1ux1~&=!=ad!BBa!ehq!n$$Q&'),Q/14567G HKLM M Mru   c                     d} d}d}d}d}d}d}d}t         t        t        f}t         | z
  d	z  t        |z
  d	z  z   |t        z
  d	z  z
  }	t         |z
  d	z  t        |z
  d	z  z   t        d	z  z
  }
t         |z
  d	z  t        |z
  d	z  z   |t        z
  d	z  z
  }|	|
|f}t        t         | z
  d	z  t        |z
  d	z  z         t        z   |z
  }|
}t        t         |z
  d	z  t        |z
  d	z  z         t        z   |z
  }|||f}t	        ||      }t	        ||      }t	        ||d
      }|||fD cg c]"  }|D ch c]  }t        d |D               c}$ c}}\  }}}||cxk(  r|k(  sJ  J y c c}w c c}}w )Nr   ii  ~   r%  rm     h   rx   Tr  c              3   >   K   | ]  }|j                  d         yw)rx   N)rp   r   s     rs   r   z"test_issue_8828.<locals>.<genexpr>  s     ,Qaggaj,s   )rg   rh   ri   r.   rE   r   )r!  y1r1r{  y2r|  y3r3r^  f1f2f3r  g1g2g3rm  r  r  r  rm   rJ  rf   rk   r   s                            rs   test_issue_8828r:    s   	
B	B	B	B	B	B	B	B	1aA
b&1B{	"b1fq[	0B
b&1B{	"QT	)B
b&1B{	"b1fq[	0B
2bA	q2vkQVaK'	(1	,r	1B	B	q2vkQVaK'	(1	,r	1B
2bAaAaAa4 ACDa)LQa8,!,,8LGAq!;Q;;; 9Ls   #	E(,E#E(#E(c                     t        t        dt        z        t        dt        z        z         ddt        z  dz  dt        z  dz  gk(  sJ t        t        dt        z        t        dt        z        z         dt         d	z  t        d	z  gk(  sJ t        dt        t              z  dt        dt        z        z  z
        dt         dz  t        dz  gk(  sJ y )
Nrz   r   r   r~   rf  rx   i,  r  i  )rE   r6   rg   r   r   ru   rs   test_issue_2840_8155r<    s     QqSC!H$%!RU1Wad1f)====SUc#a%j()a"S"S&-AAAA3q6Ac!A#hJ&'As1ubd+;;;;ru   c                  @    t        ddt        dz
  z  z         dgk(  sJ y r  r   r   ru   rs   test_issue_9567r>    s#    QAYA3&&&ru   c                  :   t        t        t        z         t         gk(  sJ t        t        dz  t        z         t         t	        t              z  t        t	        t              z  gk(  sJ t        t        dz  dt        z  z         t        dt        z         t        d      t        t              z  dz  t        d      t	        d      z  t        z  t        t              z  dz  z
  t        d      t        t              z  dz  t        d      t	        d      z  t        z  t        t              z  dz  z   gk(  sJ t        t        dz   t        t        z   gt        t              t        dt        t         ik(  sJ t        t        dz  dz   t        t        z   gt        t              dt        z  t         fdt        z  t         fgk(  sJ t        t        dz  z
  dz   } t        t        z   dz   dt        z  z   }t        t        | |gt        t                    dk(  sJ y )Nrx   rz   r   r  r~   )rE   rg   r   r   r.   r,   rh   r   r{  s     rs   test_issue_11538r@    s   Q<QB4A?r$q'z1T!W95555A!	a!eQQDGDGOA-d1g5a77QQDGDGOA-d1g5a77!9 9 9 9 !a%QA&1b!aR.888!Q$(AE"Aq)	Ar
QqS1"I.    
QTAB	
QQU	Bub"Xq!$%***ru   c                     t        d      \  } }}}}}}d| |z  z   ||z  z   d| |z  z   ||z  z   d||z  z   ||z  z   || dz  z
  |dz  z
  ||dz  z
  |dz  z
  ||dz  z
  |dz  z
  g}t        || ||||||gd      }t        |dz   dz
        }	t        d|dz  z
        }
t        dd|dz  z  z
        }t        d      |z  }t        d      |
z  }|| |	 ||	 ||	 |||||di| |	||	||	|||||di| | dz  |
dz  z
  ||dz  |
dz  z
  ||
|| dz  |dz  z   || dz  |dz  z
  |di| | dz  |
dz  z   ||dz  |
dz  z   ||
 || dz  |dz  z
  || dz  |dz  z   |di| |dz  |
dz  z
  || dz  |
dz  z
  ||
|| dz  |dz  z
  || dz  |dz  z   |di| |dz  |
dz  z   || dz  |
dz  z   ||
 || dz  |dz  z   || dz  |dz  z
  |digk(  sJ y )	Nza,b,c,d,e,f,gr}   rx   Tr{   r   rz   r   r  )r_   r`   ra   rb   rc   r   r   termsr   r   s2s3s4s5s                 rs   test_issue_12114rG    s   !/2Aq!Q1a1Wqs]A!GacM1qs7QqS=AX1_a!Q$hAoq1a4x!Q$@E
1aAq!,4
8CadUQYA	a!Q$hB	a!AqD&j	B	aB	aB	
QBA2q1"aAq!R0	
Aq!Q1aAq"-	
RCEBqDL!RTBqD[!Rr!tbd{Ar!tbd{Aq	2	
RCEBqDL!RTBqD[!bSr!tbd{Ar!tbd{Aq	2	
BqD2a4KRCEBqDL!Rr!tbd{Ar!tbd{Aq	2	
BqD2a4KRCEBqDL!bSr!tbd{Ar!tbd{Aq	2
3 
3 
3 
3ru   c                      t        dt        t        z  z
        g k(  sJ t        t        t        z  t              g k(  sJ t        t        t        z  t        z
  t              g k(  sJ y r  )rE   r   rg   r   ru   rs   test_infrI  	  sQ    RT?b   Aq>RAA"$$$ru   c            	         t        d      } t        d      D cg c]
  } | |       }}t        d      }t        t	        ||            }|d d |dd  c\  }}}}t        t        d      D cg c]7  }|d|z     |z  |d|z  dz      |z  z   |d|z  dz      |z  z   |d|z  dz      z   9 c}|||f      }	|d d |dd  c\  }}}}t        t        d      D cg c]7  }|d|z     |z  |d|z  dz      |z  z   |d|z  dz      |z  z   |d|z  dz      z   9 c}|||f      }
|
|d      j                  |      j                         |	|d      j                         k(  sJ y c c}w c c}w c c}w )	Nr   r   zx:15rz   r   r}   rx   r   )r   r  r   r|   r  rE   xreplacer  )r   r   funr  r  rg   rh   ri   ra   ssymsfuns              rs   test_issue_12448rO  	  s   Ar
#A1Q4
#C
#
&/CCDr7CGLIQ1qq AaC&(QqsQwZ\)AacAgJqL81QqS1W:E 1I'D r7CGLIQ1qq AaC&(QqsQwZ\)AacAgJqL81QqS1W:E 1I'D A<  &002SV ! ! ! $
s   E+<E<E#c                  ~   t        t        dz  dt        z  z         dt        hk(  sJ t        t        dz  dt        z  z   t              t        hk(  sJ t        t        dz  dt        z  z   t        g      t        hk(  sJ t        dt        z  dt        z  z   dt        z  z   t        t        g      t        t        hk(  sJ t        dt        z  dt        z  z   dt        z  z   t        t              t        t        hk(  sJ t        dt        z  dt        z  z   dt        z  z   t        t        h      t        t        hk(  sJ y Nrx   r}   )rW   rg   rh   ri   r   ru   rs   test_denomsrR  -	  s    !A#!)A&&&!A#!)QA3&&&!A#!)aS!aS(((!A#!)ac/Aq6*q!f444!A#!)ac/1a(QF222!A#!)ac/Aq6*q!f444ru   c                     t        d      \  } }}}}}g | dz  | z
  | |z  |z
  | |z  |z
  | |z  |z
  | |z  |z
  | |z  |z
  | |z  |z
  |  dz  |dz  z   d|z  dz  z
  ||z  |dz  z
  |dz  z
  |dz  z
  ||z  |dz  z
  |dz  z
  |dz  z
  ||z  d|z  dz  z
  |dz  z
  ||z  |z
  | |z  |z
  ||z  |dz  z
  |dz  z
  |dz  z
  |  dz  |dz  z
  |dz  z   |dz  z
  |dz  z
  |dz  z
  | dz  ||z  z   |dz  z
  |dz  z
  |dz  z
  |dz  z
  ||z  |dz  z
  |dz  z
  |dz  z
  ||z  |z
  | |z  |z
  ||z  |dz  z
  |dz  z
  |dz  z
  | dz  ||z  z   |dz  z
  |dz  z
  |dz  z
  |dz  z
  |  dz  |dz  z
  |dz  z
  |dz  z   |dz  z
  |dz  z
  | dz  |dz  z
  ||z  z   |dz  z
  | ||z  z   | |z  |z
  ||z  d|z  dz  z
  |dz  z
  ||z  |dz  z
  |dz  z
  |dz  z
  | dz  |dz  z
  ||z  z   |dz  z
  |  dz  d|z  dz  z
  |dz  z   | ||z  z   | |z  |z
  ||z  |z
  ||z  |z
  | ||z  z   | ||z  z   |  |dz  z   | dz
  }| d|t        dd      |t        dd      |t        dd      |t        dd      |di| d|t        j                  |t        dd      |d|d|di| d|t        dd      |t        dd      |t        dd      |t        dd      |di| d|d|d|d|d|di| d|t        dd      |t        dd      |t	        d	      dz  |t	        d	       dz  |di| d|t        dd      |t        dd      |t	        d	       dz  |t	        d	      dz  |dig}t        |      |k(  sJ y )
Nzx0 x1 x2 x3 x4 x5rx   rz   r   r}   r~   r   r   ry   )r   r   r   r   r.   rE   )r   r!  r{  r|  r}  r~  r  solss           rs   test_issue_12476rU  6	  s   $%89BBB
SBEBJ 
S2
 
SBrEBJ 
S2
 
SBrEBJ 
S2PR
 
SrEBJ
SAA"Q.
S0221r!t0Cbd0J
SrEBqDL2a4"Q$&
S(*2"QA(=
S?A"urz
SKMb5SU:
S rEBqDL2a4"Q$&
S *,A1r1u(<r!t(Cbd(JRPQT(Q
S CEBrEMBqD 2a4'"Q$.A5	
S 8:"ur!t|bd7JRPQT7Q	
S
 rEBJ
S
 2

S
 %'rEBqDL2a4$7"Q$$>
S CEBrEMBqD 2a4'"Q$.A5
S CEBqDL2a4"a%'"Q$.A5
S 9;s1ur!t|be7KbQRd7R
S C"R%K
S B
S &(UQrT!V^bd%:
S =?rEBqDL2a4<ORTUVRV<V
S CEBqDL2b5 2a4'
S +-Q2a"a%)?
S CEr"u
S OQQSeVXj
S rEBJ
S 2

S &(C"R%K
S 35r"u
S @BcBEk
S LNPQ6
SD BAHQNBQQSU]^`bcUdfhjklBHRORB2rJBQXb!_b(1a.RTV^_`bcVdfhjklB2q"aQA6BQXa^RaBQUVWQXPXYZPZ\^`bcBQXa^R$q'!RQUVWQXYZQZ\^`bceD ;$ru   c                      t        d      } t        | t        d      t        d      z   z  t        d      z
  | f|       g k(  sJ y )Nrj   ry   rx   r  )rj   s    rs   test_issue_13849rW  M	  s@    A!T!WtAw&'$q'115q9R???ru   c                  |    ddl m} m} t        d|z  | z  t        z   t
        z   t              d| z  t
        z
  gk(  sJ y )Nr   newtonkilor  i)sympy.physics.unitsrZ  r[  rE   rg   rh   rY  s     rs   test_issue_14860r]  R	  s8    04"Q&*uV|a/?.@@@@ru   c            
      8   t        d      \  } }}}t        d|  dz   dz  |dz  z  z   | dz
  dz  |dz  z  z   d|  dz   dz  |dz  z  z   | dz   dz  |dz  z  z   || dz   g|| ||      dd| t        d|dz  dz
  z        z  |fdd|t        d|dz  dz
  z        z  |fgk(  sJ t        |||z  d|dz  z  z   dz
  | dz  d|dz  z  z   dz
  g|||      |dt        d       dz  f|dt        d      dz  fgk(  sJ t        ||dz  z   dz
  ||dz  z   dz
  f      g k(  sJ y )Nz:4r   r}   rx   r   r~   rf  r  )rd   re   r_   r`   s       rs   test_issue_14721r_  W	  s   JAq!Q
qb1fq[A!a!AqD 00
qb1fq[A!a!AqD 00	1q5 aA 
B41a4!8%%q)	
B$q!Q$(|$$a(#** * * 	1Q31a4<!aRTAadF]Q.012Aq:	
AQxzQ4719->// / / !ad(Q,AqD1-."444ru   c            	          t        dd      } t        t        | dz  d| dz  z  z
  dz         t        | dz  d| dz  z  z
  dz         z   d	t        |       z  | z  z
  |       t        d      gk(  sJ y )
Nrg   Tr  r      rx   iA  i  r/  )r   rE   r.   r   r   s    rs   test_issue_14779rb  e	  s    $AadSAXo,-QTC1H_6 1 c!f9Q;''(*.23i[9 9 9ru   c                  d   t        t        dz
  t        t        dz   t        dz
  d      f      t        dt        dit        dt        digk(  sJ t        t        dz
  t        dt        dz
  d      f      t        dt        dik(  sJ t        t        dz
  t	        t        dz   t        dz
  d      f      t        dt        dik(  sJ t        dt        z  dt        z  z   d	z
  d
t        z  t        z
        } t        dt        z  dz   dt        z  dz
        }t        | |g      t        dt        dik(  sJ y )Nrx   rz   Fr#  r   r   r   i0  iW ir~   r  r-  r   rj  )rE   rh   r   rg   r   r   )r	  r
  s     rs   test_issue_15307rd  k	  s   !a%QU1q559:;
RAAq!%& & &!a%QA678	
Aq!  !a%QUAEE:;<	
B1  
U1Wqs]V#U1Wq[
1C
RTAXqsRx
 C#s2q,,,ru   c                  ,   t        t        dz
  t              dgk(  sJ t        t        dz
  gt              t        dik(  sJ t        t        t        dt        dz  z  dz  z   t        dt        z  z         t              g k(  sJ t        t        t        dt        dz  z  dz  z   t        dt        z  z         gt              g k(  sJ t        t        t        dt        dz  z  dz  z   t        dt        z  z         t        t        d      gt              g k(  sJ y )Nrz   rx   r}   )rE   rg   r   rh   r   ru   rs   test_issue_15415rf  w	  s    Q?qc!!!!a%!1%%%A!Q$qL!ac'*A."444"Q1a4\1qs7+,a0B666"Q1a4\1qs7+R1X6:b@@@ru   c            
      	   t        t        t        dz  dt        z  z
  dz   t        dz  dt        z  z
  dz   z  d            g dk(  sJ t        t        t        dz   z  dz
        d	gk(  sJ t        t         t         dz   z  dz
        dgk(  sJ t        t        dz  d
z
  t        dz  dz
  z  dz
        d	dgk(  sJ t        t        dz  dt        z  z
  dz
  t        dz  dz
  z  dddt        d      z  z
  z  z
        t        d      gk(  sJ t        t        t        t        j
                  z   z  dt        d      z  z
        t	        d      gk(  sJ t        t        dz  dz   t        z  dz
        dgk(  sJ t        t        dt        z  z  dz
        ddgk(  sJ t        t        dz  dt        z  z  t        d      z
        ddgk(  sJ t        t        t        t        j
                  z   z  t        dd      z
        t        dd      gk(  sJ t        t        t        d             t        z  dz
        dt        d      t        dt        dd      z        t        t        z  z   z  gk(  sJ t        t        d      t        z  t        t        d            z
        t        j
                  gk(  sJ t        t        d       t        z  dt        d      z  z         ddt        d      dz  z  dt        dz  z  z   dt        z  t        z  t        d      z  z
  t        d      dz  dt        dz  z  z   z  gk(  sJ t        t        d      t        z  dt        d      z  z
        dgk(  sJ t        t        t        z  dz         dgk(  sJ t        dt        z   t        z  dt        z  z
        dgk(  sJ t        t        d      t        d      z   t        z  dt        d
      z  dz   t        dd      z  z
        t        dd      gk(  sJ t        d      } t        | t        z  | dz  z
  t              dgk(  sJ t        | t        z  d| z  z
  t              dgk(  sJ t        | t        z  | z
  t              dgk(  sJ t        dd      } t        | t        z  | dz  z
  t              dgk(  sJ t        | t        z  d| z  z
  t              dgk(  sJ y )Nrx   r   r2  rG  r   r}   )rx   rz   r   ry   r   r   r   r~   r   rz   rU  r  rf  ry   r`   r   Tr  )rE   r   rg   r.   r   r   r   r&   r   r   r   )r`   s    rs   test_issue_15731rh  	  s_    QTAaCZ"_1r!tb(891=>BTTTT!q1u!"rd***1"Q!#$+++!Q$(adQh'!+,Q777!Q$1*q.AqD1H-1qay=0AABtAwiOOOQZ1T!W9,-!A$777!Q$(Q#$+++QqSA1a&(((!A#1Q'(QF222QZ8Aq>12x1~6FFFF4Q=.1$q()aQQA=N9ORSTVRV9V1W-XXXX$q'AT!W-.166(:::47(QDG,-!s1vqy[1RU7"QqSVCF]2SVQY2q55HI2K K K K$q'A47+,333A?qc!!!!a%!ac!"qc)))$q'DG#a'1T!W9q=8Aq>*IIJxXY[\~N^^^^sAA1a QC'''A!QB4'''A1!$$$sT"AA1a QC'''A!QB4'''ru   c                      t        t        dz  t        t        dz   z  z   t              sJ t        t        t        dz  z  t        dz  z   t        dz  z   dz         sJ y )Nr   rp  rz   rx   r  )rE   rg   rh   r   r   ru   rs   test_issue_10933rj  	  sO    A1s7#Q'''1a4!Q$A%*+++ru   c                  b    t        dd      } t        t        | t        z        |       dgk(  sJ y )Nrg   Tr  r   )r   rE   r  rh   r   s    rs   test_Abs_handlingrl  	  s-    $AQqS1!$$$ru   c                     t        d      } t        d| dz  z  d| z  z   dz   dk  | dk\  g|       t        j                  u sJ t        | dz  d| dz  z  z
  d	| z  dz  z
  d
z
  dk\  | dz
  dk  g| g      t        j                  u sJ y )Nrg   rx   ry   r   r   g      ?rz   g)\( @g=
ףp=L@j   r}   )r   rE   r   falser   s    rs   test_issue_7982rp  	  s    sA!AqD&1Q3,#q(!s(3Q7177BBB!Q$ad"U1WQY.491q5A:FLPQPWPWWWWru   c                      t        d      \  } }t        | |z  | z
  |z
  | |z  | z
  |z
  g| |g      ||dz
  z  |fgk(  sJ y )Nr  r}   rb  r  s     rs   test_issue_14645rr  	  sT    5>DAq!A#'A+qsQw{+aV4!QU)Q8HHHHru   c                      t        d      \  } }t        t        d| dk  f| | dk\  f      |z
        |t        d| dk  f| df      igk(  sJ y )Nr  r   rp  T)r   rE   r/   r  s     rs   test_issue_12024rt  	  s`    5>DAqCS>AqCx=9A=>
YQW~4y1	234 4 4ru   c            
      "   t        dt        z  t        z  t        z   t              t        t	        t              t
        t        z  z          t        t	        d            z  t        t	        t              t
        t        z  z         t        t	        d            z  gk(  sJ t        t        t        dz  z  t        dz  z   t              t        t        dt	        d      z  dt	        t              z  z   dt
        z  t        z  z               gk(  sJ y )Nr   r2  i)rE   rg   r   r.   r&   r   r%   r$   r   ru   rs   test_issue_17452rv  	  s    !Q$R#c"g"n)=(=d3q6l(J(,SWqt^(<T#a&\(I(K K K KQrTRU"A&3xCGbRj8PSUVWSWXZSZ8Z/[+\*]]]]ru   c                      t        t        t        t        d      dz  z        t        z   t
        z   t              g k(  sJ y r  )rE   r8   rg   r   r   r   r   ru   rs   test_issue_17799rx  	  s5    #a!A$q&k"B&&*A."444ru   c                      t        dd      } t        t        t        | dz  dz
        | z
        | z
        ddt        d      z   dt        d      z   gk(  sJ y )Nrg   Tr  rx   r}   r   )r   rE   r  r.   r   s    rs   test_issue_17650rz  	  sS    sASA]Q&'!+,BaL!d1g+0NNNNru   c                      dt         dz  z  dt         dz  dz
  t        d      dz  z  z  z  ddt         dz  dz
  t        d      dz  z  z  z  z   } t        |       J y )Nrx   rf  r}   r   rz   )rg   r   rO   r9  s    rs   test_issue_17882r}  	  sb    	AqD!QTAX1a((	)Aq!Q$(ad1f1E/E,F	FB9ru   c                  l   t        t        t        t        dz  z         t              g k(  sJ t        t        t         t        dz  z         t              g k(  sJ t        t        t        t        dz  z
        t              g k(  sJ t        t        t         t        dz  z
        t              g k(  sJ y r  )rE   r%   rg   r   ru   rs   test_issue_17949r  	  s    aR1Wq!R'''aR1Wq!R'''aR1Wq!R'''aR1Wq!R'''ru   c            	         t        t        t        t        d      d            ddgk(  sJ t        t        t	        t        d      t        t        d      z   t                    g dk(  sJ t        t        t        t        d      d            ddgk(  sJ t        t
        t        t        d      z   t
              t        t        d       gk(  sJ t        t        t        t
        d      z
  t        t        d      z   t        t
              z   t              t        t
               t        t
        d      z   t        t        d      z
  gk(  sJ t        t        dz   t        t        dz   d      z
  t              g dk(  sJ y )Nrx   rz   r~   )r  r   r}   r   r}   )r~   r   rz   )rE   r   r   rg   powr_   rh   r6   r   ru   rs   test_issue_10993r  	  s"   HQNA&'B7222C1IA.23zAAAHQNA&'Aq61118Aq>!1%8Aq>/)::::8Aq>!HQN2SV;Q?SVGhWXZ[nD\_ghikl_mDmCnnnn!A#x!Q''+{:::ru   c                  2   t         t        z   dz   } t         t        z   }t        | |gt         t              t         t         t        dt        z   ik(  sJ t         dz   t        z   }t        | |gt         t              t         dt        z
  t        dt        z   ik(  sJ y )Nr}   r   rx   r~   )rg   rh   r   rE   r   )r	  r
  r  s      rs   test_issue_11553r  	  s    
a%!)C
k/C#sQ"q;,2;K&LLLL
a%$
$C#sQ"q"/A*A1aJ\F\&]]]]ru   c                     t        d      dz  } t        t        t              dz  t	        t              dz  z
         t        dt        t              dz  z  dt	        t              dz  z  z
        t        d| z        t        d| z  dt        d      t        z  z
  z  dz         t        d| z  dt        d      t        z  z   z  dz         gk(  sJ t         j                  }t        t        t              dz  t	        t              z         dt        | t        d      dz  z   t        d      t        dt        d      z
        z  dz  z         z  dt        |t        d      dz  z   t        d      t        dt        d      z         z  dz  z         z  dt        t        d       dz  |z   t        d      t        dt        d      z
        z  dz  z         z  dt        t        d       t        dt        d      z         z  dz  |z   t        d      dz  z         z  gk(  sJ t        dt        t              z  t	        t              z
        t        d      gk(  sJ y )Nr}   rz   ry   r   rx   r~   )	r   rE   r4   rg   r6   r2   r.   r   r   )rj   re   s     rs   test_issue_19113_19102r  	  s   	!QA	#a&!)CFAI
3q619qQ{*+QVtAFAQ	M21455	a!fa$q'!)m$Q&	''0) ) ) ) 	
AQSV#$	$rDGAI~QQa[(9 9! ;;
<<
4DGAIQQa[(9 9! ;;<<
4a
Qaa$q'k):!:1!<<==
4aa$q'k**1,q04719<==	)? ? ? ?
 3q6CF"#Qy000ru   c            
      Z   t        d      dz  } t        d      dz  }t        d      dz  }t        d      dz  }t        dt        dz
  dz  z  dz
        d| | z   t        | |z         z
  | | z   t        | |z         z   || z   t        | |z
        z
  || z   t        | |z
        z   gk(  sJ y )Nrz   r   ry   r  r}   rx   )r   r.   rE   rg   r_   r`   ra   rb   s       rs   test_issue_19509r  	  s    	!QA	!QAQ	AQ	AAqD19q!a	
Qqb1f	
Qqb1f	AaR!V	AaR!V	&   ru   c            	         t        d      \	  } }}}}}}}}||z  | |z  z   |z   }	d|dz
  | dz
  z  |z  dt        ||	z        z
  z  z
  }
||||	t        |
      z  z
  z  z
  }dt        ||z  |z
  |||z  | |z  z   |z   z  z        z
  dt        |||z  | |z  z   |z   z        z
  z  }| |d|z  z  z  |d|z  z  z
  dz   g}t        ||      |k(  sJ y )NzTHT HT DBH dib c0 c1 c2 c3 c4r}   )r   r%   r&   rE   )THTHTDBHdibc0c1c2c3c4r   rhsr   termr   s                 rs   test_issue_20747r  
  s   -45T-U)CS#r2r2rBR"A
Qq!B&C1I6
6C	sB3s8O$	$Bc"fslS#b&3r6/B*>%?@AA3r3r6CF?R/0113Dtad|dQrTl*Q.
/CR=Cru   c                     t         dt         z   dz  z  } t        | j                  t         dt        z  dz   i      j	                  t              dkD  t              t        d      t        k  t        t        d      dz  k  z  k(  sJ t        | j                  t         dt        z  dz   i      j	                  t              dkD  t              t        d      dz  t        k  t        t        d      dz  k  z  k(  sJ t        | j                  t         dt        z  dz   i      j	                  t              dkD  t              t        d	      dz  t        k  t        t        d      k  z  k(  sJ t        | j                  t         dt        z  dz   i      j	                  t              dkD  t              t        d      t        k  t        t        d      dz  k  z  k(  sJ y )
Nr}   rx   rz   r   r   r  r~   r   r  )rj   rE   r   rg   r	   r   r  s    rs   test_issue_20902r  
  sp   	
q1ul	AAEAI',,Q/!3Q7AbEAI!aPReTUg+;VVVVAEAI',,Q/!3Q7AbE!GaKAPQRTPUVWPWK;XXXXAEAI',,Q/!3Q7AbE!GaKAPQRTPUI;VVVVAEAI',,Q/!3Q7AbEAI!aPReTUg+;VVVVru   c            
      f   t        dd      } t        t        t        d            z
  t        t        t        |             z
  t        t        t              z
  g}t        |t        t        t              t        t        d            t        t        |             t        t        t        d                  fgk(  sJ t        t              t        t               z
  t        t              t        t              t        t               z   z  z
  t        z   dz
  g}t        |t              t        dik(  sJ y )Nr_   Tr  r   ry   )
r   rg   r(   r4   rh   r)   ri   r*   rE   r%   )r_   r  	newsystems      rs   test_issue_21034r  
  s    $A$s1v,DQL 0!d1g+>FAq!tCF|T#a&\4SQRVCU&V%WWWW a&3r7"d1gs1vQB/?&@@1DqHIIA1a&(((ru   c                     t         t        t        dz  t         dz  z  t        dz  t        dz  z  z   t        dz  z
        z  t         dz  t        dz  z   z  } t        t        z  t         dz  t        dz  z   z  }t        || z
  z  t        z
  t          z  || z
  ft        || z   z  t        z
  t          z  || z   fg}t        t        dz  t        dz  z   t        dz  z
  t         t        z  t        t        z  z   t        z
  gt        t              |k(  sJ y r  )r_   r.   rm   r`   ra   rE   rg   rh   )ri   rj   r   s      rs   test_issue_4886r   
  s    	$q!tAqDy1a419$q!t+
,,adQTk:A	!QTAqD[AAY]aR !a%(Aq1uIMQB+?Q*G
HC!Q$A+1$acAaCi!m4a;sBBBru   c                      t        dd      \  } }}}t        | |t        z  z  ||t        z  z  z
  t              t        || z        t        ||z        z  gk(  sJ y )Nr  Tr  )r   rE   rg   r&   r  s       rs   test_issue_6819r  '
  sW    T2JAq!Q1a4!AqD&!$QqS#ac():(;;;;ru   c                  f    t        d      } t        d| z
  t        z
  dz  |       dt        z
  gk(  sJ y )Nrg   r}   r   )r   rE   r   r   s    rs   test_issue_17454r  ,
  s2    sA!a%!)a#Aw...ru   c                      ddt        d      z  dz  z
  g} t        dt        z  t        dt        dz  z        z   dz
        | k(  sJ y )NrZ  rx   )r.   rE   rg   )r   s    rs   test_issue_21852r  1
  sH    RQZ\!"H1tAadF|#b()X555ru   c                  ^   t          t        t        dt        z
  z  z  t        dt        z
  z  dt        z
  z  z   ddt        z
  z  z  z   } t        | t        dd      }|t        t        dt        z
  z  z  t        dt        z
  z  z
  t         dt        z
  z  z   t        z  ddt        z
  z  z  gk(  sJ y )Nr}   Fr.  )rb   r_   ra   rc   r`   rE   r  s     rs   test_issue_21942r  6
  s    
qQU|a!a%j!a%00Aq1uI>	>B
AU
3CQq1q5z\AAJ.	AE
AE$ % % % %ru   c                      t        t        dz  t        dz  z   t        z
  dz
  d      } t        t        dz  t        dz  z   t        z
  dz
  d      }| |k7  sJ y )Nry   rx   r}   F)cubicsTr   )r-   rads     rs   test_solver_flagsr  =
  sP    A1q1$U3D
1q!ta!#D
1C3;;ru   c                  f   dt         dz  z  dt        dz
  dz  z  t        dz  z  z
  } t        | j	                         t         d      dt        z  t        dz
  dz  z  t        dt        d      t        z  z   z  t        dz
  dz  z  t         dt        d      t        z  z   z  t        dz
  dz  z  gk(  sJ y )	Nrx   rz   r   r}   r   Fr  r   )rg   rh   ri   rE   r  r.   r   r9  s    rs   test_issue_22768r  C
  s    	
1a4"a!eaZ-1$	$Ba% 
c1q51*nad1gai0!a%!;	
AQ	MAEA:%'' ' 'ru   c                      t        t        dz   t        t        dz  t        z        z   dz   dt        z  t        z  dt        z  t        z  z   f      t        dt        t        it        dt        t        igk(  sJ y )Nrx   r~   r   r}   )rE   rh   r&   rg   r   r   ru   rs   test_issue_22717r  J
  si    1a4%#ad1f+%)2a46AaCE>:;	
B11a|@% % % %ru   c                  f    t         dz
  dz  dz
  t              } t        fd| D              rJ y )Nry   r|  rz   c              3   J   K   | ]  }j                  t        |        y wr   )r   rg   )r   r   r   s     rs   r   z#test_issue_25176.<locals>.<genexpr>R
  s     .Q2771a=.s    #)rg   rE   r5  )r   r   s    @rs   test_issue_25176r  O
  s4    
a%"qB
)C.#.....ru   c                     t        dt        z  t        dz  t        t        z   t        z   t
        z   z  z
  t        dz  dt        z  dt        dd      z  t        z  z
  dt        z  z   t        z   dt        dd      z  t
        z  z   dt
        z  z   t        z   z  z
  t        dz  ddt        dd      z  z  t        z  t        d      t        z  z   dt        dd      z  t        z  z
  dt        z  z   t        d      t
        z  z   ddt        dd      z  z  t
        z  z   dt        dd      z  t        z  z   dt        z  z   z  z
  t        dz  dt        d      z  t        z  ddt        dd      z  z  t        z  z
  t        d      t        z  z   dt        d      z  t
        z  z   t        d      t        z  z   ddt        dd      z  z  t        z  z   z  z
  t        dt        z  dt        z  z   dt        d      z  t        z  z   dt        d      z  t        z  z   z  z
  dz         } t        | t        t        t        t        t
        t        gt              t        t        dd      t        t        dd	      t        t        d
d      ddt        dd      z  z  dz  z
  ddt        dd      z  z  d	z  z   t        ddt        dd      z  z  dz  dt        d      z  dz  z
  ddt        dd      z  z  dz  z
  t
        t        d
d      ddt        dd      z  z  d	z  z
  ddt        dd      z  z  dz  z   t        dt        d      z  dz  ddt        dd      z  z  dz  z   ddt        dd      z  z  dz  z   ik(  sJ y )Nr|  ry   r   rx   rz   r  r  r  i  i   r}   ir   i  ir   )r   r_   rg   r`   ra   rc   r   rb   rd   r.   rJ   r9  s    rs   test_issue_10169r  U
  sl   	
2a4!Q$A	A&&AqsQ15Ea5G/G!A#/M	0
x!}Q0!"10%'(0) ** *,-qD"Q15E2Ea2G$q'RS)2S	8Aa=3qS3!#'7193-/0HQqM1A/A!/C3DFGRSTUFVWXFX3Y[\]^[^3_ -`` 	
1aQikAa!A..q004719<qay{JQ	a!A&&q() 	** -.qsQqSy1T!W9Q;/F	$q'	!0 -	
  
B %R!Q1a);Q?	8Aa=	8Bt	8CqHQqM!11#55!Xa]:J8J48OO	3q(1Q-#bajn4qHQqM9I7I#7MM	8CqHQqM!11$661hqm;K9KC9OO	3tAw;s?Qq(1Q-//33bHQqM9I6I#6MMD   ru   c                     t        d      \  } }}}t        | t        t              z  |t	        t              z  z   |t        t        |z
        z        }|j
                  |j                  z
  j                  d      }t        |||ft              }||dt        | t        | dz  |dz  z         z
  |z        z  || dz   | t        | dz  |dz  z         z  z   |dz  z
  | t        | dz  |dz  z         z
  z  i|dt        | t        | dz  |dz  z         z   |z        z  || dz  | t        | dz  |dz  z         z  z   |dz  z   | t        | dz  |dz  z         z   z  dz  igk(  sJ y )NzA, B, r, phiT)trigrx   r   )r   r   r6   rj   r4   lhsr  r  rJ   r2   r.   )r  r  r   r  rc   r   r  s          rs   *test_solve_undetermined_coeffs_issue_23927r  f
  s   >*LAq!S
1SV8aAh#a#g,/A
%%!%%-		T		*B$R!S15DQtQadQTk**A-..	QTEAd1a4!Q$;'''!Q$.T!Q$A+5F1FG
 	QtQadQTk**A-..	AqD1T!Q$A+&&&A-DA14E0EFrI
   ru   c                       t        t        d        t        ddd      t        dz  t	        d      dz  z
         t        t         fd       y )Nc                  D    t        t        t        dz  d      t              S )Nrx   rp  )rE   r
   rg   r   ru   rs   r   z"test_issue_24368.<locals>.<lambda>v
  s    c!Q$mQ(? ru   rC  Tr  rx   r}   c            	          t        t         dz   dz   z  d z   dz   z  z   d dz   z  z   d       z  t         dz   dz   z  d z   dz   z  z   d dz   z  z   d      z         S rQ  )rE   r
   r   rC  s   rs   r   z"test_issue_24368.<locals>.<lambda>y
  s    s1a4Q<!A#q1u+3MPQSTWXSXPY3Y[\/]_`.`cfghjkgkmnqrmrgsvwxyvy{|  @A  |A  wB  hB  EF  HI  LM  HM  EN  hN  PQ  dR  /R  TV  )W ru   )r]   r   r   r+   r   r  s   @@rs   test_issue_24368r  s
  sK      ?@	dT	2BbdQqT!VmA
  !W  Xru   c                     t        d      dz  gt        dt        t         j                  t        dk  fdt        z  dt        dz
  dz  z  dz  z
  dz
  t        dk\  t        dk\  z  t        dk\  z  t        dk\  z  t        dk  z  fd	d
t        z  z
  t        dk\  t        dk\  z  t        dk\  z  t        dk  z  fdt        z  dt        dz
  dz  z  dz  z
  dz
  t        dk\  t        dk\  z  t        dk\  z  t        dk  z  fd	dt        z  z
  t        dk\  t        dk\  z  t        dk  z  fdt        z  dt        dz
  dz  z  dz  z
  dz
  t        dk\  t        dk\  z  t        dk\  z  t        dk  z  fddt        z  z
  t        dk\  t        dk\  z  t        dk  z  fd
t        z  dt        dz
  dz  z  dz  z
  dz
  t        dk\  t        dk\  z  t        dk  z  fddt        z  z
  t        dk\  t        dk  z  fdt        z  dt        dz
  dz  z  dz  z
  dz
  t        dk\  t        dk\  z  t        dk\  z  t        dk  z  fddt        z  z
  t        dk\  t        dk\  z  t        dk  z  fdt        z  dt        dz
  dz  z  dz  z
  dz
  t        dk\  t        dk\  z  t        dk  z  fddt        z  z
  t        dk\  t        dk  z  fdt        z  dt        dz
  dz  z  dz  z
  dz
  t        dk\  t        dk\  z  t        dk  z  fdt        z  t        dk\  t        dk  z  fdt        z  dt        dz
  dz  z  dz  z
  dz
  t        dk\  t        dk  z  fdt        dk  ft         j                  df      z        k(  sJ y )Nr   rz   r   r   r   rx      r   r  ro  r   r]     rq  r-     rN  r+  r%  rV  T)r   rE   r/   NaNrg   r   ru   rs   test_solve_Piecewiser  |
  sS   bE!G9a		
Q	A1q51*Q		$qAv!q&&9QU&CqAv&NRSVXRX&YZ	r!ta1fa(AF3q2v>?	A1q51*Q		$qAv!q&&9Q!V&DB&OP	r!ta1fa(AF34	A1q51*Q		$q1ua&8AF&Cq2v&NO	bdQ!VQ'1r623	A1q51*Q		$qAv!q&&9QV&DE	bdQ!VB'(	A1q51*Q		$qAv!q&&9Q!V&DB&OP	acAFqAv&!b&12	A1q51*Q		$qAv!q&&9QV&DE	bdQ!VB'(	A1q51*Q		$qAv!q&&9QV&DE	
1qAv!b&!"	A1q51*Q		$qAv!b&&9:	
AF	
t%!     ru   N)r   (&  sympy.assumptions.askr   r   sympy.core.addr   sympy.core.containersr   sympy.core.functionr   r   r	   sympy.core.modr
   sympy.core.mulr   
sympy.corer   r   sympy.core.numbersr   r   r   r   r   r   sympy.core.relationalr   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r   r   r   sympy.core.sympifyr   (sympy.functions.combinatorial.factorialsr   $sympy.functions.elementary.complexesr   r    r!   r"   r#   &sympy.functions.elementary.exponentialr$   r%   r&   r  r'   r(   r)   r*   #sympy.functions.elementary.integersr+   (sympy.functions.elementary.miscellaneousr,   r-   r.   $sympy.functions.elementary.piecewiser/   (sympy.functions.elementary.trigonometricr0   r1   r2   r3   r4   r5   r6   r7   'sympy.functions.special.error_functionsr8   r9   r:   r;   sympy.integrals.integralsr<   sympy.logic.boolalgr=   r>   sympy.matrices.denser?   sympy.matricesr@   sympy.polys.polytoolsrA   sympy.printing.strrB   sympy.simplify.radsimprC   sympy.solvers.solversrD   rE   rF   rG   sympy.solversrH   rI   rJ   sympy.solvers.bivariaterK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   r\  rX   sympy.polys.rootoftoolsrY   sympy.testing.pytestrZ   r[   r\   r]   sympy.core.randomr^   r   r  r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r	  r  r  r  r&  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r7  r:  r<  rD  rF  rH  rL  r`  rc  ri  rn  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r!  r%  r'  r)  r:  r<  r>  r@  rG  rI  rO  rR  rU  rW  r]  r_  rb  rd  rf  rh  rj  rl  rp  rr  rt  rv  rx  rz  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   ru   rs   <module>r     s   *  ' < <   8 > > 2 2 " < < & = N N G G K K 5 G G : b b b P P . ) ' ' & # ( ? ? &  L L9 9 9 # + : : 6 A A A A A@E- 2V	/eBP!4H	L@
8*.4('
FG
1
O,J7"H( I IV:4#nH 3 3D0>fIS&::%LP$>NB0*+ZX$$*:)'X
% g	5 	5,

1 + +(, r rj	 ! ! J J3:#> P P(IV>6'4AH;K4"
I7%PD
)>X,3K1D
=:/xZE:7& * * X+ X+v
9 > >	G71a<"	211
+	!%
7-
5 * *2M  :<'+  3 3.%!$5.@
A
59	-A ( (>,
%
XI
4^5O

(;^1	 W)C<
/
6
%'%
/"Xru   