
    Цi*                        S SK Jr  S SKJr  S SKJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJrJrJr  S SKJrJ r J!r!J"r"J#r#J$r$J%r%  S SK&J'r'  S SK(J)r)  S SK*J+r+J,r,  S SK-J.r.J/r/J0r0J1r1J2r2J3r3J4r4  S SK5J6r6  S SK7J8r8J9r9J:r:J;r;  S SK<J=r=J>r>J?r?J@r@JArAJBrB  S SKCJDrD  S SKEJFrFJGrG  S SKHJIrI  \I" S5      rJ\I" S5      rK\J(       a6  \JR                  \JR                  / 5      R                  5      rO\OR                  rQS rRS rSS rTS rUS rVS  rWS! rXS" rYS# rZS$ r[S% r\S& r]S' r^S( r_S) r`S* raS+ rbS, rcS- rdS. reS/ rfS0 rgS1 rhS2 riS3 rjS4 rkg5)6    )Sum)Mod)Equality
Unequality)Symbol)sqrt)	Piecewise)	polygamma)SiCi)BlockMatrix)MatrixSymbol)Identity)lambdify)symbolsMinMax)xijabcd)Pow)MatrixSolve)	logaddexp
logaddexp2)log1pexpm1hypotlog10exp2log2Sqrt)Array)ArrayTensorProductArrayAddPermuteDimsArrayDiagonal)NumPyPrinterSciPyPrinter_numpy_known_constants_numpy_known_functions_scipy_known_constants_scipy_known_functions)convert_matrix_to_array)skipraises)import_modulenumpyjaxc                      [        5       n [        S[        S:  4S5      nU R                  U5      S:X  d   eU R                  S1 Sk0:X  d   eg)z
NumPyPrinter needs to print Piecewise()'s choicelist as a list to avoid
breaking compatibility with numpy 1.8. This is not necessary in numpy 1.9+.
See gh-9747 and gh-9749 for details.
   r   )r   Tz?numpy.select([numpy.less(x, 0),True], [1,0], default=numpy.nan)r5   >   nanlessselectN)r+   r	   r   doprintmodule_imports)printerps     ^/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/sympy/printing/tests/test_numpy.pytest_numpy_piecewise_regressionrA   %   sZ     nG1a!e*i(A??1IJ J J!!g/H%IIII    c                      [        [        [        5      n [        5       R	                  U 5      S:X  d   e[        [        [        5      n[        5       R	                  U5      S:X  d   eg )Nznumpy.logaddexp(a, b)znumpy.logaddexp2(a, b))r   r   r   r+   r<   r   )laelae2s     r@   test_numpy_logaddexprF   1   sQ    
Aq/C>!!#&*AAAAaD>!!$'+CCCCrB   c                    ^ [         (       d  [        S5        [        [        [        -  [        [
        [        45      n [        [
        [        [        4U S5      nSu  p#[         R                  SSS5      m[         R                  U" X#T5      [        U4S j[        X#S-   5       5       5      5      (       d   e[        [        [        -  [        [
        [        45      n [        [
        [        [        4U S5      nSu  p#[         R                  SSS5      m[         R                  U" X#T5      [        U4S j[        X#S-   5       5       5      5      (       d   eg )	NNumPy not installedr5   r   
   r8   rJ   c              3   .   >#    U  H
  nTU-  v   M     g 7fN .0i_x_s     r@   	<genexpr>test_sum.<locals>.<genexpr>A   s     )O=Nr"(=Ns   c              3   ,   >#    U  H	  oT-  v   M     g 7frM   rN   rO   s     r@   rS   rT   H   s     )N<Mbr'<Ms   )npr2   r   r   r   r   r   r   linspaceallclosesumrange)sfa_b_rR   s       @r@   test_sumr_   8   s    2"#AFQ1IA!QAw'AFB	RR	 B;;q}c)OU2Av=N)O&OPPPPAEAq!9A!QAw'AFB	RR	 B;;q}c)NE"1f<M)N&NOOOOrB   c                    ^^^ [         (       d  [        S5        [        [        [        -   [
        -  [
        [        [        4[        [        [        45      n [        [        [        [        [        [        4U S5      nSu  p#Su  mm[         R                  SSS5      m[         R                  U" X#TTT5      [        UUU4S j[        X#S-   5       5       5      5      (       d   eg )	NrH   r5   rI   )      rK   r8   rJ   c              3   b   >#    U  H$  n[        TTS -   5        H  nTU-   U-  v   M     M&     g7f)r8   N)rZ   )rP   rQ   j_c_d_rR   s      r@   rS   %test_multiple_sums.<locals>.<genexpr>V   s4     b4EbPUVXZ\_`Z`Pa"BGr>Pa>4Es   ,/)rV   r2   r   r   r   r   r   r   r   r   r   rW   rX   rY   rZ   )r[   r\   r]   r^   re   rf   rR   s       @@@r@   test_multiple_sumsrh   K   s    2"#QUaK!QQ1I.A!Q1a!W-AFBFB	RR	 B;;qR,bE"1f4Ebbd d d drB   c                  l   [         (       d  [        S5        [        SSS5      n [        SSS5      n[        X-  5      n[	        X4US5      n[         R                  SS/SS//5      n[         R                  SS	/S
S//5      nU" XE5      [         R                  XE5      :H  R                  5       (       d   eg )NrH   M   Nr5   r8         rK   )rV   r2   r   r1   r   arraymatmulall)rj   rl   cgr\   mambs         r@   test_codegen_einsumrv   Y   s    2"#S!QAS!QA	 	'B!W%A	Aq6Aq6"	#B	Ab6B7#	$BbI2**//1111rB   c            
         [         (       d  [        S5        [        SSS5      n [        SSS5      n[        SSS5      n[        SSS5      n[         R                  SS/SS	//5      n[         R                  SS
/SS//5      n[         R                  SS/SS//5      n[         R                  SS/S	S//5      n[	        X5      n[        X4US5      n	U	" XE5      [         R                  USS/USS/5      :H  R                  5       (       d   e[        X5      n[        X4US5      n	U	" XE5      XE-   :H  R                  5       (       d   e[        XU5      n[        XU4US5      n	U	" XEU5      XE-   U-   :H  R                  5       (       d   e[        XX#5      n[        XX#4US5      n	U	" XEXg5      XE-   U-   U-   :H  R                  5       (       d   e[        U SS/5      n[        U 4US5      n	U	" U5      UR                  :H  R                  5       (       d   e[        [	        X5      / SQ5      n[        X4US5      n	U	" XE5      [         R                  [         R                  USS/USS/5      S5      :H  R                  5       (       d   e[        [	        X5      S5      n[        X4US5      n	U	" XE5      [         R                  [         R                  USS/USS/5      SSS9:H  R                  5       (       d   eg )NrH   rj   rk   rl   PQr8   rm   rn   ro   rK   r      r5   )r8   rk   rm   r   r8   rk   )axis1axis2)rV   r2   r   rp   r'   r   einsumrr   r(   r)   T	transposer*   diagonal)
rj   rl   rx   ry   rt   ru   mcmdrs   r\   s
             r@   test_codegen_extrar   h   s   2"#S!QAS!QAS!QAS!QA	Aq6Aq6"	#B	Ab6B7#	$B	Aq6Aq6"	#B	Ab6Aq6"	#B	A	!B!W%AbI21vrAq6::??AAAA	!B!W%AbI##%%%%	!	B!B(AbbMRU2X%**,,,,	!	B!r7+Abbr",113333	QA	B!r7#AbERTTM    	'-|	<B!W%AbIbiiQFBA&GVV[[]]]]	)!/	8B!W%AbIRYYrAq621v%FaWXYY^^````rB   c                  T   [         (       d  [        S5        [        [        S5      n [	        [        4U 5      n[         R                  / SQ5      n[         R                  U" U5      / SQ5      (       d   e[        [        S5      n [	        [        4U 5      n[         R                  / SQ5      n[         R                  U" U5      / SQ5      (       d   e[        S:  n [	        [        4U 5      n[         R                  / SQ5      n[         R                  U" U5      / SQ5      (       d   e[        S:*  n [	        [        4U 5      n[         R                  / SQ5      n[         R                  U" U5      / SQ5      (       d   e[        S:  n [	        [        4U 5      n[         R                  / SQ5      n[         R                  U" U5      / SQ5      (       d   e[        S:  n [	        [        4U 5      n[         R                  / SQ5      n[         R                  U" U5      / S	Q5      (       d   eg )
NrH   r8   )r   r8   rk   )FTF)TFT)TFF)TTF)FFT)FTT)rV   r2   r   r   r   rp   array_equalr   )er\   rR   s      r@   test_relationalr      s   2"#AA!qA	)	B>>!B%!566661aA!qA	)	B>>!B%!45555	
QA!qA	)	B>>!B%!56666	
aA!qA	)	B>>!B%!45555	
QA!qA	)	B>>!B%!56666	
aA!qA	)	B>>!B%!45555rB   c                  L   [         (       d  [        S5        [        [        [        5      n [        [        [        4U 5      n[         R                  / SQ5      nSn[         R                  U" X#5      / SQ5      (       d   e[         R                  / SQ5      n[         R                  / SQ5      n[         R                  U" X#5      / SQ5      (       d   e[         R                  / SQ5      n[         R                  / SQ5      n[         R                  U" X#5      / SQ5      (       d   eg )NrH   )r   r8   rk   rm   rk   )r   r8   r   r8   )rk   rk   rk   rk   )rk   rm   rn      )r   r   r   r   )rV   r2   r   r   r   r   rp   r   )r   r\   r]   r^   s       r@   test_modr      s    2"#Aq	A!QA	,	B	
B>>!B)\2222	,	B	,	B>>!B)\2222	,	B	,	B>>!B)\2222rB   c                  z    [         (       d  [        S5        [        SSSS9n [        / U S5      nU" 5       S:X  d   eg )NrH   rk   rK   F)evaluater5   g      ?)rV   r2   r   r   )exprr\   s     r@   test_powr      s:    2"#q"u%DT7#A3#::rB   c                      [         (       d  [        S5        [        [        4[	        [        5      S5      n [        U " S5      S-
  S-
  5      S[        -  ::  d   eg )NrH   r5   g|=g#B;)rV   r2   r   r   r    absNUMPY_DEFAULT_EPSILONr\   s    r@   
test_expm1r      sK    2"#!uQx)Aqx%%'(E4I,IIIIrB   c                      [         (       d  [        S5        [        [        4[	        [        5      S5      n [        U " S5      S-
  5      S[        -  ::  d   eg )NrH   r5   g>N}a+)rV   r2   r   r   r   r   r   r   s    r@   
test_log1pr      sF    2"#!uQx)Aqx% E,A$AAAArB   c            	          [         (       d  [        S5        [        [        [        [
        4[        [        [
        5      S5      " SS5      S-
  5      [        ::  d   eg )NrH   r5   rm   rn   r   )rV   r2   r   r   r   r   r!   r   rN   rB   r@   
test_hypotr      sC    2"#xAaW5a;a?@DYYYYrB   c                      [         (       d  [        S5        [        [        [        4[        [        5      S5      " S5      S-
  5      [        ::  d   eg )NrH   r5   d   rk   )rV   r2   r   r   r   r"   r   rN   rB   r@   
test_log10r      s=    2"#xeAh059:>SSSSrB   c                      [         (       d  [        S5        [        [        [        4[        [        5      S5      " S5      S-
  5      [        ::  d   eg )NrH   r5   r       )rV   r2   r   r   r   r#   r   rN   rB   r@   	test_exp2r      s=    2"#xd1gw/2R78<QQQQrB   c                      [         (       d  [        S5        [        [        [        4[        [        5      S5      " S5      S-
  5      [        ::  d   eg )NrH   r5         )rV   r2   r   r   r   r$   r   rN   rB   r@   	test_log2r      s=    2"#xd1gw/4q89=RRRRrB   c                      [         (       d  [        S5        [        [        [        4[        [        5      S5      " S5      S-
  5      [        ::  d   eg NrH   r5   rn   rk   )rV   r2   r   r   r   r%   r   rN   rB   r@   	test_Sqrtr      =    2"#xd1gw/2Q67;PPPPrB   c                      [         (       d  [        S5        [        [        [        4[        [        5      S5      " S5      S-
  5      [        ::  d   eg r   )rV   r2   r   r   r   r   r   rN   rB   r@   	test_sqrtr     r   rB   c                     [         (       d  [        S5        [        SSS5      n [        SSS5      nU S-  U-  U-   n[        X5      U-   n[	        X4U5      n[	        X4U5      n[         R                  / SQ/ SQ/ S	Q/5      n[         R                  R                  U5      S:X  d   e[         R                  / S
Q5      n[         R                  U" Xg5      U" Xg5      5      (       d   eg )NrH   rj   rm   r   r8   rK   r8   rk   rm   )rm   rk   r   )r      rz   )rm   rn   r   )	rV   r2   r   r   r   rp   linalgmatrix_rankrX   )rj   r   r   matsolve_exprr\   
f_matsolvem0x0s           r@   test_matsolver   
  s    2"#S!QAS!QAr7Q;?D%)M!A1&-0J	9i3	4B99  $)))	)	B;;z")1R95555rB   c                     [         (       d  [        S5        [        SSS5      n [        SSS5      n[        SSS5      n[        SSS5      n[        X/X#//5      nUR                  S:X  d   e[        5       nUR                  U5      S	:X  d   eg )
NrH   a_1rJ   rm   a_2a_3a_4)   r   z%numpy.block([[a_1, a_2], [a_3, a_4]]))rV   r2   r   r   shaper+   r<   )r   r   r   r   Ar>   s         r@   
test_16857r     s    2"#
ub!
$C
ub!
$C
ub!
$C
ub!
$CcZ#,-A77gnG??1!HHHHrB   c                    ^^ [         (       d  [        S5        [        SSS5      n [        X [	        S5      -   5      n[         R                  SS/SS//5      n[         R                  SS/SS//5      nU" U5      U:H  R                  5       (       d   eSS	KJn  U" S
SS9m[        STT5      m[        [        UU4S j5        g )NrH   rj   rk   r8   rm   rn   r   r   )r   nT)integerc                  4   > [        T T [        T5      -   5      $ rM   )r   r   )rl   r   s   r@   <lambda>"test_issue_17006.<locals>.<lambda>=  s    AO(DrB   )rV   r2   r   r   r   rp   rr   sympy.core.symbolr   r3   NotImplementedError)rj   r\   rt   mrr   rl   r   s        @@r@   test_issue_17006r   .  s    2"#S!QAO$A	Aq6Aq6"	#B	Aq6Aq6"	#BbERK)T"AS!QA
 DErB   c                     [         (       d  [        S5        [        S5      u  pn[        XU5      [	        XU5      -   n[        XU4US5      nSu  pV[         R                  R                  U5      [         R                  R                  U5      p[        R                  U" U6 U" U6 5      (       d   e[        R                  U" U6 U" U6 5      (       d   eg )NzJax not installedzx y zr6   )r   )rn   r   r   )
r6   r2   r   r   r   r   r5   asarrayrV   rX   )	r   yzr   funcinput_tuple1input_tuple2input_array1input_array2s	            r@   test_jax_tuple_compatibilityr   ?  s    3 !gGA!qQ<#aA,&DQ1ItU+D!5L!$!2!2<!@#))BSBST`Ba,;;t\*D,,?@@@@;;t\*D,,?@@@@rB   c                      [        5       R                  [        S5      5      S:X  d   e[        5       R                  [        S5      5      S:X  d   eg )N)r{   )rm   r   znumpy.array([[1, 2], [3, 5]])r{   znumpy.array((1, 2)))r+   r<   r&   rN   rB   r@   test_numpy_arrayr   K  sD    >!!%(8"9:>]]]]>!!%-04IIIIrB   c                  |    [         S   S:X  d   e[         S   S:X  d   e[        S   S:X  d   e[        S   S:X  d   eg )	NNaNz	numpy.nan
EulerGammaznumpy.euler_gammaacosznumpy.arccoslogz	numpy.log)r-   r.   rN   rB   r@   test_numpy_known_funcs_constsr   O  sO    !%(K777!,/3FFFF!&)^;;;!%(K777rB   c                  |    [         S   S:X  d   e[         S   S:X  d   e[        S   S:X  d   e[        S   S:X  d   eg )	NGoldenRatiozscipy.constants.golden_ratioPizscipy.constants.pierfzscipy.special.erf	factorialzscipy.special.factorial)r/   r0   rN   rB   r@   test_scipy_known_funcs_constsr   V  sR    !-04RRRR!$'+????!%(,????!+.2KKKKrB   c                  d    [        5       n [        U S5      (       d   e[        U S5      (       d   eg )N_print_acos
_print_log)r+   hasattr)prntrs    r@   test_numpy_print_methodsr   ]  s/    NE5-((((5,''''rB   c                     [        5       n [        U S5      (       d   e[        U S5      (       d   e[        U S5      (       d   e[        U S5      (       d   e[        U S5      (       d   e[        SSSS9n[        S	SS
9nU R                  [	        X5      5      S:X  d   eU R                  [        U5      5      S:X  d   eU R                  [        U5      5      S:X  d   eg )Nr   r   
_print_erf_print_factorial_print_chebyshevtkT)r   nonnegativer   )realzscipy.special.polygamma(k, x)zscipy.special.sici(x)[0]zscipy.special.sici(x)[1])r,   r   r   r<   r
   r   r   )r   r   r   s      r@   test_scipy_print_methodsr   b  s    NE5-((((5,''''5,''''5,----5-....sDd3AsA==1)-LLLL==A#======A#====rB   N)lsympy.concrete.summationsr   sympy.core.modr   sympy.core.relationalr   r   r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser	   'sympy.functions.special.gamma_functionsr
   'sympy.functions.special.error_functionsr   r   &sympy.matrices.expressions.blockmatrixr   "sympy.matrices.expressions.matexprr   "sympy.matrices.expressions.specialr   sympy.utilities.lambdifyr   sympyr   r   r   	sympy.abcr   r   r   r   r   r   r   
sympy.corer   sympy.codegen.matrix_nodesr   sympy.codegen.numpy_nodesr   r   sympy.codegen.cfunctionsr   r    r!   r"   r#   r$   r%   sympy.tensor.arrayr&   0sympy.tensor.array.expressions.array_expressionsr'   r(   r)   r*   sympy.printing.numpyr+   r,   r-   r.   r/   r0   3sympy.tensor.array.expressions.from_matrix_to_arrayr1   sympy.testing.pytestr2   r3   sympy.externalr4   rV   r6   finforp   dtypedeafult_float_infoepsr   rA   rF   r_   rh   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rN   rB   r@   <module>r     sB   )  8 $ 9 : = < > ; 7 - # # ) ) )  2 ; Q Q Q $ K K W - (7E"((2,"4"45.22
JDP&d2'aT&6R3(JBZ
TRSQQ6*IF"
AJ8L(
>rB   