+
    i9R                        ^ RI Ht ^ RIHt ^ RIHt ^RIHtHtH	t	H
t
HtHt ^RIHt RP                  4       t]P"                  ! 4        U Uu. uF  w  rV ]9  g   K  W3NK  	  upp t]! ]3/ 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/B tRRRRRR R!R"R#R$/t]P#                  4        U Uu/ uF  w  rV R%V,           bK  	  upp t]P#                  4        U Uu/ uF  w  rV R%V,           bK  	  upp t ! R& R']]4      t] F  t]! ]R(] 2]
4       K  	  ] F  t]! ]R(] 2]	4       K  	  / R)R*bR+R+bR,R,bR-R.bR/R0bR1R2bR3R4bR5R5bR6R6bR7R7bR8R8bR9R:bR;R<bR=R=bR>R?bR@RAbRBRCbRDRERFRGRHRIRJRKRLRMRNRORPRPRQRR/CtRSRTRR/t]P#                  4        U Uu/ uF  w  rV RUV,           bK  	  upp t]P#                  4        U Uu/ uF  w  rV RVV,           bK  	  upp t ! RW RX]4      t ] F  t]! ] R(] 2]
4       K  	  ] F  t]! ] R(] 2]	4       K  	  ]P#                  4        U Uu/ uF  w  rV RYV,           bK  	  upp t!]P#                  4        U Uu/ uF  w  rV RYV,           bK  	  upp t" ! RZ R[]4      t#]! F  t]! ]#R(] 2]
4       K  	  ]" F  t]! ]#R(] 2]	4       K  	  ]P#                  4        U Uu/ uF  w  rV R\V,           bK  	  upp t$]P#                  4        U Uu/ uF  w  rV R\V,           bK  	  upp t% ! R] R^]4      t&]$ F  t]! ]&R(] 2]
4       K  	  ]% F  t]! ]&R(] 2]	4       K  	  R_# u upp i u upp i u upp i u upp i u upp i u upp i u upp i u upp i u upp i )`    )S)Lambda)Pow)PythonCodePrinter_known_functions_math_print_known_const_print_known_func_unpack_integral_limitsArrayPrinter)CodePrinterz!erf erfc factorial gamma loggammaacosarccosacosharccoshasinarcsinasinharcsinhatanarctanatan2arctan2atanharctanhexp2sign	logaddexp
logaddexp2isinfisnanExp1ePipi
EulerGammaeuler_gammaNaNnanInfinityinfznumpy.c                     a a ] tR t^%t oRtRt]t]t	R1V 3R llt
R tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tV 3R ltR tR tR tR2R lt V3R lR lt!R t"R t#R t$R t%R  t&R! t'R" t(R# t)R$ t*R% t+R& t,R' t-R( t.R) t/R* t0R+t1R,t2R-t3R.t4R/t5]6Pn                  t8]6Pn                  t9]6Pn                  t:]6Pn                  t;R0t<Vt=V ;t># )3NumPyPrinterzU
Numpy printer which handles vectorized piecewise functions,
logical operators, etc.
numpyc                   < RP                  V P                  4      V n        RP                  V P                  4      V n        / \        P
                  CV P
                  CV n        \        SV `  VR7       R# )z
`settings` is passed to CodePrinter.__init__()
`module` specifies the array module to use, currently 'NumPy', 'CuPy'
or 'JAX'.
zPython with {}z_{}codesettingsN)format_modulelanguageprintmethodr   _kfsuper__init__selfr0   	__class__s   &&t/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/printing/numpy.pyr7   NumPyPrinter.__init__/   s^     )//=$++DLL98'++8txx8(+    c                \   a  RpRP                  VP                  V 3R lV 4       4      4      # )z+General sequence printer: converts to tuple, z({},)c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5iN_print).0itemr9   s   & r;   	<genexpr>*NumPyPrinter._print_seq.<locals>.<genexpr>B   s     ,O34T[[->->3   !)r1   join)r9   seq	delimiters   f& r;   
_print_seqNumPyPrinter._print_seq=   s(     	~~inn,O3,OOPPr=   c                N    R V P                  \        P                  4      ,           # )-)rC   r   r)   r9   exprs   &&r;   _print_NegativeInfinity$NumPyPrinter._print_NegativeInfinityD   s    T[[,,,r=   c                z  a  VP                  4       ^ ,          \        P                  Jd_   VP                  4       ^,          VP                  4       ^ ,          .,           pRP                  RP	                  V 3R lV 4       4      4      # RP                  RP	                  V 3R lVP
                   4       4      4      # )zMatrix multiplication printer({})z).dot(c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   rD   ir9   s   & r;   rF   -NumPyPrinter._print_MatMul.<locals>.<genexpr>K   s     .Qy!t{{1~~yrH   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   rW   s   & r;   rF   rY   L   s     *M9a4;;q>>9rH   )as_coeff_matricesr   Oner1   rI   args)r9   rQ   	expr_lists   f& r;   _print_MatMulNumPyPrinter._print_MatMulG   s    !!#A&aee3..03d6L6L6Nq6Q4SSI==.Qy.Q!QRR}}X]]*M499*MMNNr=   c                    RP                  V P                  V P                  R,           4      V P                  VP                  ^ ,          4      V P                  VP                  ^,          4      4      # )zMatrix power printerz
{}({}, {})z.linalg.matrix_powerr1   _module_formatr2   rC   r]   rP   s   &&r;   _print_MatPowNumPyPrinter._print_MatPowN   sU    ""4#6#6t||F\7\#]KK		!%t{{499Q<'@B 	Br=   c                    RP                  V P                  V P                  R,           4      V P                  VP                  ^ ,          4      4      # )zMatrix inverse printer{}({})z.linalg.invrb   rP   s   &&r;   _print_InverseNumPyPrinter._print_InverseS   s=    t224<<-3OPKK		!%' 	'r=   c                F   VP                   w  r#VP                  ^ ,          ^8w  d   VP                  pVP                  ^,          ^8w  d   VP                  pV P                  V P                  R,           4      : RV P                  V4      : RV P                  V4      : R2# )r   z.dot(r?   ))r]   shapeTrc   r2   rC   )r9   rQ   arg1arg2s   &&  r;   _print_DotProductNumPyPrinter._print_DotProductX   sz     YY
::a=A66D::a=A66D#224<<&3HI#{{40#{{402 	2r=   c                    V P                  V P                  R ,           4      : RV P                  VP                  4      : RV P                  VP                  4      : R2# )z.linalg.solverk   r?   rl   )rc   r2   rC   matrixvectorrP   s   &&r;   _print_MatrixSolveNumPyPrinter._print_MatrixSolvee   sC    #224<</3QR#{{4;;7#{{4;;79 	9r=   c                    R P                  V P                  V P                  R,           4      V P                  VP                  4      4      # )rg   z.zerosr1   rc   r2   rC   rm   rP   s   &&r;   _print_ZeroMatrixNumPyPrinter._print_ZeroMatrixj   s9    t224<<(3JKKK

#% 	%r=   c                    R P                  V P                  V P                  R,           4      V P                  VP                  4      4      # )rg   z.onesry   rP   s   &&r;   _print_OneMatrixNumPyPrinter._print_OneMatrixn   s9    t224<<'3IJKK

#% 	%r=   c                  a  ^ RI HpHp VP                  p\	        V\
        4      '       g   \        W#3V! W#4      4      pRP                  S P                  S P                  R,           4      RP                  V 3R lVP                  ^ ,           4       4      S P                  VP                  ^,          4      S P                  VP                  4      4      # )r   )rX   jz{}(lambda {}: {}, {})z.fromfunctionr?   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   rD   argr9   s   & r;   rF   5NumPyPrinter._print_FunctionMatrix.<locals>.<genexpr>x   s     @-3dkk#&&-rH   )	sympy.abcrX   r   lamda
isinstancer   r1   rc   r2   rI   r]   rC   rm   )r9   rQ   rX   r   r   s   f&   r;   _print_FunctionMatrix"NumPyPrinter._print_FunctionMatrixr   s    "

%((A65;/E&--d.A.A$,,Q`B`.aII@%**Q-@@KK

1&DJJ(?A 	Ar=   c                L  a a S P                  S P                  R ,           4      oRP                  VV 3R lVP                  RR  4       4      RP	                  S P                  VP                  R,          4      R\        VP                  4      ^,
          ,          4      ,           # )	.multiply c              3   f   <"   T F&  pR P                  SSP                  V4      4      x  K(  	  R# 5iz{}({}, Nr1   rC   rD   r   funcr9   s   & r;   rF   6NumPyPrinter._print_HadamardProduct.<locals>.<genexpr>}   1      '% !''dkk#.>??%   .1N{}{}rl   rc   r2   rI   r]   r1   rC   lenr9   rQ   r   s   f&@r;   _print_HadamardProduct#NumPyPrinter._print_HadamardProduct{   s}    ""4<<+#=>ww 'yy"~' ')/t{{499R=7Q3tyy>A%&*(( 	(r=   c                L  a a S P                  S P                  R ,           4      oRP                  VV 3R lVP                  RR  4       4      RP	                  S P                  VP                  R,          4      R\        VP                  4      ^,
          ,          4      ,           # )z.kronr   c              3   f   <"   T F&  pR P                  SSP                  V4      4      x  K(  	  R# 5ir   r   r   s   & r;   rF   7NumPyPrinter._print_KroneckerProduct.<locals>.<genexpr>   r   r   Nr   rl   r   r   r   s   f&@r;   _print_KroneckerProduct$NumPyPrinter._print_KroneckerProduct   s}    ""4<<'#9:ww 'yy"~' ')/t{{499R=7Q3tyy>A%&*(( 	(r=   c                    R P                  V P                  V P                  R,           4      V P                  V P                  R,           4      V P                  VP                  ^ ,          4      4      # )z
{}({}({}))z
.conjugatez
.transposerb   rP   s   &&r;   _print_AdjointNumPyPrinter._print_Adjoint   sW    ""| ;<| ;<KK		!%' 	'r=   c                    R P                  V P                  V P                  R,           4      V P                  VP                  4      4      pRP                  V P                  V P                  R,           4      V4      # )rg   z.diagz{}({}, (-1, 1))z.reshape)r1   rc   r2   rC   r   )r9   rQ   vects   && r;   _print_DiagonalOfNumPyPrinter._print_DiagonalOf   sg    w 67KK!# !''z 9:DB 	Br=   c                    R P                  V P                  V P                  R,           4      V P                  VP                  ^ ,          4      4      # )rg   z	.diagflatrb   rP   s   &&r;   _print_DiagMatrixNumPyPrinter._print_DiagMatrix   s=    t224<<+3MNKK		!%' 	'r=   c           
     ^   R P                  V P                  V P                  R,           4      V P                  VP                  4      V P                  V P                  R,           4      V P                  VP
                  ^ ,          4      V P                  VP
                  ^,          4      4      # )z{}({}, {}({}, {}))r   .eye)r1   rc   r2   rC   r   rm   rP   s   &&r;   _print_DiagonalMatrix"NumPyPrinter._print_DiagonalMatrix   sz    #**4+>+>t||k?Y+ZKK!4#6#6t||f7L#MKK

1&DJJqM(BD 	Dr=   c                  a aaa ^ RI HoHo VV V3R loRP                  RP	                  V 3R lVP
                   4       4      4      pRP                  RP	                  V3R lVP
                   4       4      4      pRP                  S P                  S P                  R,           4      W2S P                  \        P                  4      4      # )	zPiecewise function printer)ITEsimplify_logicc                   < V P                  S4      '       d   SP                  S! V 4      4      # SP                  V 4      # )z#Problem having an ITE in the cond. )hasrC   )condr   r9   r   s   &r;   
print_cond1NumPyPrinter._print_Piecewise.<locals>.print_cond   s3    xx}}{{>$#788{{4((r=   z[{}],c              3   Z   <"   T F   pSP                  VP                  4      x  K"  	  R # 5irA   )rC   rQ   r   s   & r;   rF   0NumPyPrinter._print_Piecewise.<locals>.<genexpr>   s!     &R	t{{388'<'<	s   (+c              3   H   <"   T F  pS! VP                   4      x  K  	  R # 5irA   )r   )rD   r   r   s   & r;   rF   r      s     &Qyz#((';';ys   "z{}({}, {}, default={})z.select)sympy.logic.boolalgr   r   r1   rI   r]   rc   r2   rC   r   r'   )r9   rQ   exprscondsr   r   r   s   f&  @@@r;   _print_PiecewiseNumPyPrinter._print_Piecewise   s    ;	) chh&R		&RRSchh&Qtyy&QQR
 (..y 895KK  	 r=   c                `  < RRRRRRRRR	R
RR/pVP                   V9   d   V P                  VP                  4      pV P                  VP                  4      pRP	                  V P                  V P                  R,           W!P                   ,          ,           4      W4R7      # \        SV `!  V4      # )z.Relational printer for Equality and Unequalityz==equalz!=	not_equal<lessz<=
less_equal>greaterz>=greater_equalz{op}({lhs}, {rhs}).)oplhsrhs)	rel_oprC   r   r   r1   rc   r2   r6   _print_Relational)r9   rQ   r   r   r   r:   s   &&   r;   r   NumPyPrinter._print_Relational   s     '+&,)/
 ;;"++dhh'C++dhh'C'..$2E2EdllUXFXY[\g\gYhFh2i36 / A Aw(..r=   c                   a  RP                  S P                  S P                  R,           4      RP                  V 3R lVP                   4       4      4      # )Logical And printer{}.reduce(({}))z.logical_andr   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   rW   s   & r;   rF   *NumPyPrinter._print_And.<locals>.<genexpr>   s0       eH  ~Gxyeiepepqreses  ~GrH   r1   rc   r2   rI   r]   rP   s   f&r;   
_print_AndNumPyPrinter._print_And   sc    
 !''(;(;DLL><Y(Z\_\d\d  eH  ~B  ~G  ~G  eH  ]H  I  	Ir=   c                   a  RP                  S P                  S P                  R,           4      RP                  V 3R lVP                   4       4      4      # )Logical Or printerr   z.logical_orr   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   rW   s   & r;   rF   )NumPyPrinter._print_Or.<locals>.<genexpr>   s0       dG  }Fwxdhdodopqdrdr  }FrH   r   rP   s   f&r;   	_print_OrNumPyPrinter._print_Or   sc    
 !''(;(;DLL=<X(Y[^[c[c  dG  }A  }F  }F  dG  \G  H  	Hr=   c                   a  RP                  S P                  S P                  R,           4      RP                  V 3R lVP                   4       4      4      # )zLogical Not printerrg   z.logical_notr   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   rW   s   & r;   rF   *NumPyPrinter._print_Not.<locals>.<genexpr>   s$     [~t}op\`\g\ghi\j\jt}rH   r   rP   s   f&r;   
_print_NotNumPyPrinter._print_Not   sC    
 t224<<.3PQSVS[S[[~txt}t}[~S~r=   c                   VP                   P                  '       dM   VP                   P                  '       d1   \        VP                  VP                   P                  4       R R7      pV P                  WV P                  R,           R7      # )F)evaluatez.sqrt)rationalsqrt)exp
is_integeris_negativer   baseevalf_hprint_Powr2   )r9   rQ   r   s   &&&r;   
_print_PowNumPyPrinter._print_Pow   s]    88488#7#7#7tyy$((.."2UCDdllW>TUUr=   c                    < V ^8  d   QhRS[ /# )   r   )str)r1   __classdict__s   "r;   __annotate__NumPyPrinter.__annotate__   s     9 9# 9r=   c                ,   \        V4      ^ 8X  d   \        RV 24      h\        V4      ^8X  d   V P                  V^ ,          4      # V P                  R4      pV Uu. uF  q@P                  V4      NK  	  ppV RV RRP	                  V4       R2# u upi )r   zNeed at least one argument for zfunctools.reducerk   z, [r?   z]))r   NotImplementedErrorrC   rc   rI   )r9   r   r]   _reducer   s_argss   &&*   r;   _helper_minimum_maximum$NumPyPrinter._helper_minimum_maximum   s    t9>%(Gt&LMMY!^;;tAw''%%&89.23ds++c"d3!B4s499V#4"5R88 4s   Bc                $    V P                  V4      # rA   )_print_minimumrP   s   &&r;   
_print_MinNumPyPrinter._print_Min       ""4((r=   c                    R P                  V P                  V P                  R,           4      V P                  VP                  4      V P                  VP
                  4      4      # ){}({}, axis={})z.aminr1   rc   r2   rC   arrayaxisrP   s   &&r;   _print_aminNumPyPrinter._print_amin   c     ''(;(;DLL7<R(SUYU`U`aeakakUlnrnynyz~  {D  {D  oE  F  	Fr=   c                    V P                  V P                  R ,           4      pV P                  ! V.VP                  O5!  # )z.minimumrc   r2   r   r]   r9   rQ   r   s   && r;   r   NumPyPrinter._print_minimum   5      
!:;++B;;;r=   c                $    V P                  V4      # rA   )_print_maximumrP   s   &&r;   
_print_MaxNumPyPrinter._print_Max   r   r=   c                    R P                  V P                  V P                  R,           4      V P                  VP                  4      V P                  VP
                  4      4      # )r  z.amaxr  rP   s   &&r;   _print_amaxNumPyPrinter._print_amax   r  r=   c                    V P                  V P                  R ,           4      pV P                  ! V.VP                  O5!  # )z.maximumr	  r
  s   && r;   r  NumPyPrinter._print_maximum   r  r=   c                    V P                  V P                  R ,           4      : RV P                  VP                  ^ ,          4      : R2# )z.anglerk   rl   rc   r2   rC   r]   rP   s   &&r;   
_print_argNumPyPrinter._print_arg   s7    ..t||h/FGUYU^U^_`UaIbccr=   c                    V P                  V P                  R ,           4      : RV P                  VP                  ^ ,          4      : R2# )z.imagrk   rl   r  rP   s   &&r;   	_print_imNumPyPrinter._print_im   7    ..t||g/EFTXT]T]^_T`Habbr=   c                   a  S P                  S P                  R ,           4      : RRP                  V 3R lVP                   4       4      : R2# )z.modrk   r?   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   r   s   & r;   rF   *NumPyPrinter._print_Mod.<locals>.<genexpr>  s     3#T[[rH   rl   )rc   r2   rI   r]   rP   s   f&r;   
_print_ModNumPyPrinter._print_Mod   s<    ..t||f/DEtyy33H5 6 	6r=   c                    V P                  V P                  R ,           4      : RV P                  VP                  ^ ,          4      : R2# )z.realrk   rl   r  rP   s   &&r;   	_print_reNumPyPrinter._print_re  r  r=   c                    V P                  V P                  R ,           4      : RV P                  VP                  ^ ,          \        P
                  ,          4      : R2# )z.sincrk   rl   )rc   r2   rC   r]   r   r#   rP   s   &&r;   _print_sincNumPyPrinter._print_sinc  sC    ..t||g/EFTXT]T]^_T`abaeaeTeHfggr=   c                   ^ VP                   9   dL   V P                  V P                   RV P                   24      pV RV P	                  VP                   4       R2# V P
                  P                  VP                  P                  R4      pVf   V P                  V P                   R24      pV: RV P	                  VP                  4       4      : R2# )r   r   rk   rl   N.array)
rm   rc   r2   _zerosrC   known_functionsgetr:   __name__tolistr   s   && r;   _print_MatrixBaseNumPyPrinter._print_MatrixBase	  s    

?&&$,,q'FGDV1T[[45Q77##''(?(?F<&&$,,v'>?DT[[]!;<<r=   c                8   VP                   p\        ;QJ d    R  V 4       F  '       d   K   RM	  RM! R  V 4       4      '       dK   V P                  V P                  R,           4      : RV P	                  VP                   ^ ,          4      : R2# \        R4      h)c              3   8   "   T F  qP                   x  K  	  R # 5irA   )
is_Integer)rD   dims   & r;   rF   /NumPyPrinter._print_Identity.<locals>.<genexpr>  s     /#~~s   FTr   rk   rl   zFSymbolic matrix dimensions are not yet supported for identity matrices)rm   allrc   r2   rC   r   )r9   rQ   rm   s   && r;   _print_IdentityNumPyPrinter._print_Identity  sm    

3//333////#224<<&3HI4;;W[WaWabcWdKeff%&noor=   c                    R P                  V P                  V P                  R,           4      V P                  VP                  ^ ,          P                  4       4      4      # )rg   z.block)r1   rc   r2   rC   r]   r/  rP   s   &&r;   _print_BlockMatrixNumPyPrinter._print_BlockMatrix  sH    t224<<(3JK!%TYYq\-@-@-B!CE 	Er=   c                   VP                  4       ^ 8X  d=   V P                  V P                   R24      pV RV P                  VR,          4       R2# ^ VP                  9   dL   V P                  V P                   RV P
                   24      pV RV P                  VP                  4       R2# V P                  V P                   R24      pV RV P                  VP                  4       4       R2# )r   r*  rk   rl   r    )rankrc   r2   rC   rm   r+  r/  r   s   && r;   _print_NDimArrayNumPyPrinter._print_NDimArray  s    99;!&&$,,v'>?DV1T[[b23155

?&&$,,q'FGDV1T[[45Q77""dll^6#:;qT[[]34A66r=   addeinsum	transposeoneszeros)r5   r3   r4   rA   )F)?r.  
__module____qualname____firstlineno____doc__r2   _numpy_known_functionsr5   _numpy_known_constants_kcr7   rL   rR   r_   rd   rh   rq   rv   rz   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'  r0  r8  r;  r@  _add_einsum
_transpose_onesr+  r   _print_not_supported_print_lowergamma_print_uppergamma_print_fresnelc_print_fresnels__static_attributes____classdictcell____classcell__r:   r   s   @@r;   r,   r,   %   s@    
 G
 C
 C,Q-OB
'
29
%%A(('B'D
 &/"IH@V9 9)F<)F<dc6ch=pE7 DGJEF#88#88!66O!66OOr=   r,   _print_Eiexpierferfcbesseljjvbesselyyvbesseliivbesselkkvcosm1powm1	factorialgammaloggammagammalndigammapsi	polygammaRisingFactorialpochjacobieval_jacobi
gegenbauereval_gegenbauer
chebyshevteval_chebyt
chebyshevueval_chebyulegendreeval_legendrehermiteeval_hermitelaguerreeval_laguerreassoc_laguerreeval_genlaguerrebetaLambertWlambertwGoldenRatiogolden_ratiozscipy.special.zscipy.constants.c                      a a ] tR tRt o/ ]P
                  C]Ct/ ]P                  C]CtRV 3R llt	R t
]
tR tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tRtVtV ;t# )SciPyPrinteri\  c                6   < \         SV `  VR 7       RV n        R# )r/   zPython with SciPy and NumPyN)r6   r7   r3   r8   s   &&r;   r7   SciPyPrinter.__init__a  s    (+5r=   c                    . . . rCpVP                  4       P                  4        F;  w  w  rVpVP                  V4       VP                  V4       VP                  V4       K=  	  R P                  V P	                  R4      WBW1P
                  R7      # )z+{name}(({data}, ({i}, {j})), shape={shape})zscipy.sparse.coo_matrix)namedatarX   r   rm   )todokitemsappendr1   rc   rm   )r9   rQ   rX   r   r  rcvs   &&      r;   _print_SparseRepMatrix#SciPyPrinter._print_SparseRepMatrixe  s    Rd++-IFQAHHQKHHQKKKN .
 =CC$$%>?azz D 
 	
r=   c           	        R P                  V P                  R4      V P                  VP                  ^ ,          4      V P                  VP                  ^,          4      V P                  VP                  ^,          4      4      # )z{0}({2}, {1}, {3})zscipy.special.lpmvr1   rc   rC   r]   rP   s   &&r;   _print_assoc_legendre"SciPyPrinter._print_assoc_legendret  s`    #** 45KK		!%KK		!%KK		!%	' 	'r=   c           	         R P                  V P                  R4      V P                  R4      V P                  VP                  ^ ,          4      V P                  VP                  ^,          4      4      # ){0}({2})*{1}({2}, {3})scipy.special.gammazscipy.special.gammaincr  rP   s   &&r;   rS  SciPyPrinter._print_lowergamma{  s[    '.. 56 89KK		!%KK		!%	' 	'r=   c           	         R P                  V P                  R4      V P                  R4      V P                  VP                  ^ ,          4      V P                  VP                  ^,          4      4      # )r  r  zscipy.special.gammainccr  rP   s   &&r;   rT  SciPyPrinter._print_uppergamma  s[    '.. 56 9:KK		!%KK		!%	' 	'r=   c                Z   V P                  R 4      pV P                  R4      pVP                   Uu. uF  q@P                  V4      NK  	  ppRV RV^ ,           RV^,           RV^,           RV RV^ ,           RV^,           RV^,           RV RV^ ,           RV^,           R2# u upi )scipy.special.betainczscipy.special.betark   r?   z) - z))             * rl   )rc   r]   rC   )r9   rQ   betaincr  r   r]   s   &&    r;   _print_betaincSciPyPrinter._print_betainc  s    %%&=>""#78,0II6ISC I67)1T!WIRQy47)4y$q'RTUYZ[U\T]]_`def`g_h ifAd1gYba	, 	, 7s   B(c           
     J   R P                  V P                  R4      V P                  VP                  ^ ,          4      V P                  VP                  ^,          4      V P                  VP                  ^,          4      V P                  VP                  ^,          4      4      # )z'{0}({1}, {2}, {4}) - {0}({1}, {2}, {3})r  r  rP   s   &&r;   _print_betainc_regularized'SciPyPrinter._print_betainc_regularized  st    8?? 78KK		!%KK		!%KK		!%KK		!%' 	'r=   c                    R P                  V P                  R4      V P                  VP                  ^ ,          4      4      # )	{}({})[0]scipy.special.fresnelr  rP   s   &&r;   rV  SciPyPrinter._print_fresnels  8    !!##$;<DIIaL)+ 	+r=   c                    R P                  V P                  R4      V P                  VP                  ^ ,          4      4      # )	{}({})[1]r  r  rP   s   &&r;   rU  SciPyPrinter._print_fresnelc  r  r=   c                    R P                  V P                  R4      V P                  VP                  ^ ,          4      4      # )r  scipy.special.airyr  rP   s   &&r;   _print_airyaiSciPyPrinter._print_airyai  8    !!##$89DIIaL)+ 	+r=   c                    R P                  V P                  R4      V P                  VP                  ^ ,          4      4      # )r  r  r  rP   s   &&r;   _print_airyaiprimeSciPyPrinter._print_airyaiprime  r  r=   c                    R P                  V P                  R4      V P                  VP                  ^ ,          4      4      # )z	{}({})[2]r  r  rP   s   &&r;   _print_airybiSciPyPrinter._print_airybi  r  r=   c                    R P                  V P                  R4      V P                  VP                  ^ ,          4      4      # )z	{}({})[3]r  r  rP   s   &&r;   _print_airybiprimeSciPyPrinter._print_airybiprime  r  r=   c                T    V P                  VP                  ! VP                  !  4      # rA   rC   _eval_rewrite_as_zetar]   rP   s   &&r;   _print_bernoulliSciPyPrinter._print_bernoulli  s     {{455tyyABBr=   c                T    V P                  VP                  ! VP                  !  4      # rA   r  rP   s   &&r;   _print_harmonicSciPyPrinter._print_harmonic  s     {{455tyyABBr=   c           	       a  \        V4      w  r#\        V4      ^8X  d@   S P                  R4      pR\        \	        S P
                  V^ ,          4      4      ,          pM;S P                  R4      pRP                  RP                  V 3R lV 4       4      4      pRP                  VRP                  \	        S P
                  V4      4      S P                  VP                  ^ ,          4      V4      # )   zscipy.integrate.quadz%s, %szscipy.integrate.nquadrU   r?   c              3   p   <"   T F+  pR \        \        SP                  V4      4      ,          x  K-  	  R# 5i)z(%s, %s)N)tuplemaprC   )rD   lr9   s   & r;   rF   /SciPyPrinter._print_Integral.<locals>.<genexpr>  s-      0IAGA
U3t{{A#6777s   36z{}(lambda {}: {}, {})[0])	r
   r   rc   r  r  rC   r1   rI   r]   )r9   r"   integration_varslimits
module_str	limit_strs   f&    r;   _print_IntegralSciPyPrinter._print_Integral  s    #:1#= v;!,,-CDJ 5T[[&))D#EEI,,-DEJdii 0IAG0I 'I JI *00		#dkk+;<=AFF1I&	 	r=   c                    R P                  V P                  R4      V P                  VP                  ^ ,          4      4      # )r  scipy.special.sicir  rP   s   &&r;   	_print_SiSciPyPrinter._print_Si  r  r=   c                    R P                  V P                  R4      V P                  VP                  ^ ,          4      4      # )r  r  r  rP   s   &&r;   	_print_CiSciPyPrinter._print_Ci  r  r=   )r3   rA   )r.  rG  rH  rI  r,   r5   _scipy_known_functionsrM  _scipy_known_constantsr7   r  _print_ImmutableSparseMatrixr  rS  rT  r  r  rV  rU  r  r  r  r  r  r  r  r  r  rW  rX  rY  rZ  s   @@r;   r  r  \  s     
8\
8!7
8C
8\
8!7
8C6

 $: ''','+
+
+
+
+
+
CC$+
+ +r=   r  zcupy.c                   F   a a ] tR tRt oRtRt]t]t	RV 3R llt
RtVtV ;t# )CuPyPrinteri  zT
CuPy printer which handles vectorized piecewise functions,
logical operators, etc.
cupyc                (   < \         SV `  VR 7       R# )r/   N)r6   r7   r8   s   &&r;   r7   CuPyPrinter.__init__  s    (+r=   r>  rA   )r.  rG  rH  rI  rJ  r2   _cupy_known_functionsr5   _cupy_known_constantsrM  r7   rW  rX  rY  rZ  s   @@r;   r  r    s%     
 G
C
C, ,r=   r  z
jax.numpy.c                   R   a a ] tR tRt oRtRt]t]t	RV 3R llt
R tR tRtVtV ;t# )	
JaxPrinteri  zS
JAX printer which handles vectorized piecewise functions,
logical operators, etc.
z	jax.numpyc                6   < \         SV `  VR 7       RV n        R# )r/   _jaxcodeN)r6   r7   r4   r8   s   &&r;   r7   JaxPrinter.__init__  s    (+%r=   c                   a  RP                  S P                  S P                  R,           4      S P                  S P                  4      RP                  V 3R lVP                   4       4      4      # )r   {}({}.asarray([{}]), axis=0)z.allr   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   rW   s   & r;   rF   (JaxPrinter._print_And.<locals>.<genexpr>       7YT[[^^YrH   r   rP   s   f&r;   r   JaxPrinter._print_And	  U    -44v 56-HH7TYY77
 	
r=   c                   a  RP                  S P                  S P                  R,           4      S P                  S P                  4      RP                  V 3R lVP                   4       4      4      # )r   r  z.anyr   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irA   rB   rW   s   & r;   rF   'JaxPrinter._print_Or.<locals>.<genexpr>  r  rH   r   rP   s   f&r;   r   JaxPrinter._print_Or  r  r=   )r4   rA   )r.  rG  rH  rI  rJ  r2   _jax_known_functionsr5   _jax_known_constantsrM  r7   r   r   rW  rX  rY  rZ  s   @@r;   r  r    s/      G
C
C&


 
r=   r  N)'
sympy.corer   sympy.core.functionr   sympy.core.powerr   pycoder   r   r   r	   r
   r   codeprinterr   split_not_in_numpyr  	_in_numpydict_known_functions_numpy_known_constants_numpyrK  rL  r,   r   setattrconst_known_functions_scipy_special _known_constants_scipy_constantsr  r  r  r  r  r  r  r  r  )kr  s   00r;   <module>r     s    &   K  K $ 499; 5 ; ; =X =-AWVaV =X	i 
HY
HY
HYY
F
F,WW,  " C$-	5  7M6R6R6TU6Tda!X\/6TU 6L6R6R6TU6Tda!X\/6TU K7<!2 K7Z #DLGD6*,=> # $ELGE7+-?@ $"&"	5" F" t	"
 t" t" t" W" W" " W" 	" u" " v"  m!"" ##"$ --~(
F3" : >$$   @^?c?c?ef?etq!.22?ef AaAgAgAijAi!0144Aij {+< {+z #DLGD6*,=> # $ELGE7+-?@ $ 6L5Q5Q5ST5STQWq[5ST 5K5Q5Q5ST5STQWq[5ST ,, , "DK74&)+<= " #EK75'*,>? # 9O8T8T8VW8V<!++8VW 8N8T8T8VW8V<!++8VW 
 
> !DJ'$(*;< ! "EJ'%)+=> "g Y2 VUl	 gjL UT, XWs<   L#L#*L)L/L53L;MM%MM