+
    ‹°³jk%  ã                   ó  € ^ RI t ^ RIHt ^ RIHtHtHt ^ RIHt ^ RI	H
t
HtHtHtHt ^ RIHt ^ RIHt ^ RIHt R	 tR
 t ! R R]4      t ! R R]4      t ! R R]4      tRR ltRR ltRR lt ! R R]4      tR tR# )é    N)ÚExpr)ÚsympifyÚSÚpreorder_traversal)Ú
CoordSys3D)ÚVectorÚ	VectorMulÚ	VectorAddÚCrossÚDot)Ú
Derivative)ÚAdd)ÚMulc                 óÆ   € \        V 4      p\        4       pV F<  p\        V\        4      '       g   K  VP	                  V4       VP                  4        K>  	  \        V4      # ©N)r   ÚsetÚ
isinstancer   ÚaddÚskipÚ	frozenset)ÚexprÚgÚretÚis   &   ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/vector/operators.pyÚ_get_coord_systemsr      sJ   € Ü˜4Ó €AÜ
‹%€CÛˆÜ�aœ×$Ô$Ø�G‰G�AŒJØ�F‰FŽHñ ô �S‹>Ðó    c                 óÄ   € \         P                  ! R  4      pV P                   F!  pV\        V4      ;;,          V,          uu&   K#  	  \	        VP                  4       4      # )c                  ó"   € \         P                  # r   )r   ÚOne© r   r   Ú<lambda>Ú._split_mul_args_wrt_coordsys.<locals>.<lambda>   s   € ¬¯ªr   )ÚcollectionsÚdefaultdictÚargsr   ÚlistÚvalues)r   Údr   s   &  r   Ú_split_mul_args_wrt_coordsysr*      sG   € Ü×Ò¡Ó.€AØ�YŒYˆØ	Ô
˜QÓ
×  AÕ%Õ ñ ä�—‘“
ÓÐr   c                   ó0   a € ] tR t^t o RtR tR tRtV tR# )ÚGradientz»
Represents unevaluated Gradient.

Examples
========

>>> from sympy.vector import CoordSys3D, Gradient
>>> R = CoordSys3D('R')
>>> s = R.x*R.y*R.z
>>> Gradient(s)
Gradient(R.x*R.y*R.z)

c                óT   € \        V4      p\        P                  ! W4      pWn        V# r   ©r   r   Ú__new__Ú_expr©Úclsr   Úobjs   && r   r/   ÚGradient.__new__+   ó#   € Ü�t‹}ˆÜ�lŠl˜3Ó%ˆØŒ	Øˆ
r   c                ó0   € \        V P                  R R7      # ©T©Údoit)Úgradientr0   ©ÚselfÚhintss   &,r   r9   ÚGradient.doit1   s   € Ü˜Ÿ
™
¨Ô.Ð.r   r!   N©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r/   r9   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r,   r,      s   ø‡ € ñò÷/ð /r   r,   c                   ó0   a € ] tR t^5t o RtR tR tRtV tR# )Ú
Divergencezû
Represents unevaluated Divergence.

Examples
========

>>> from sympy.vector import CoordSys3D, Divergence
>>> R = CoordSys3D('R')
>>> v = R.y*R.z*R.i + R.x*R.z*R.j + R.x*R.y*R.k
>>> Divergence(v)
Divergence(R.y*R.z*R.i + R.x*R.z*R.j + R.x*R.y*R.k)

c                óT   € \        V4      p\        P                  ! W4      pWn        V# r   r.   r1   s   && r   r/   ÚDivergence.__new__D   r5   r   c                ó0   € \        V P                  R R7      # r7   )Ú
divergencer0   r;   s   &,r   r9   ÚDivergence.doitJ   s   € Ü˜$Ÿ*™*¨4Ô0Ð0r   r!   Nr?   rG   s   @r   rJ   rJ   5   s   ø‡ € ñò÷1ð 1r   rJ   c                   ó0   a € ] tR t^Nt o RtR tR tRtV tR# )ÚCurlzã
Represents unevaluated Curl.

Examples
========

>>> from sympy.vector import CoordSys3D, Curl
>>> R = CoordSys3D('R')
>>> v = R.y*R.z*R.i + R.x*R.z*R.j + R.x*R.y*R.k
>>> Curl(v)
Curl(R.y*R.z*R.i + R.x*R.z*R.j + R.x*R.y*R.k)

c                óT   € \        V4      p\        P                  ! W4      pWn        V# r   r.   r1   s   && r   r/   ÚCurl.__new__]   r5   r   c                ó0   € \        V P                  R R7      # r7   )Úcurlr0   r;   s   &,r   r9   Ú	Curl.doitc   s   € Ü�D—J‘J TÔ*Ð*r   r!   Nr?   rG   s   @r   rQ   rQ   N   s   ø‡ € ñò÷+ð +r   rQ   c           	     óÚ  a€ \        V 4      p\        V4      ^ 8X  d   \        P                  # \        V4      ^8X  Edw   \	        \        V4      4      pVP                  4       w  r4pVP                  4       w  rgpVP                  4       w  ršpV P                  V4      pV P                  V4      pV P                  V4      p\        P                  pV\        Wë,          V4      \        WÚ,          V4      ,
          V,          W«,          ,          ,          pV\        WÉ,          V4      \        Wë,          V4      ,
          V,          W›,          ,          ,          pV\        WÚ,          V4      \        WÉ,          V4      ,
          V,          W©,          ,          ,          pS'       d   VP                  4       # V# \        V \        \        34      '       d`   ^ RIHp  \	        \        V4      4      pV P"                   Uu. uF  pV! VVRR7      NK  	  pp\        P&                  ! V3R lV 4       4      # \        V \(        \*        34      '       dÄ   V P"                   Uu. uF(  p\        V\        \,        \.        34      '       g   K&  VNK*  	  up^ ,          p\(        P&                  ! R V P"                   4       4      p\-        \1        V4      V4      P                  4       V\3        VSR7      ,          ,           pS'       d   VP                  4       # V# \        V \,        \4        \.        34      '       d   \5        V 4      # \%        R4      hu upi   \$         d    T P"                  p ELUi ; iu upi )a  
Returns the curl of a vector field computed wrt the base scalars
of the given coordinate system.

Parameters
==========

vect : Vector
    The vector operand

doit : bool
    If True, the result is returned after calling .doit() on
    each component. Else, the returned expression contains
    Derivative instances

Examples
========

>>> from sympy.vector import CoordSys3D, curl
>>> R = CoordSys3D('R')
>>> v1 = R.y*R.z*R.i + R.x*R.z*R.j + R.x*R.y*R.k
>>> curl(v1)
0
>>> v2 = R.x*R.y*R.z*R.i
>>> curl(v2)
R.x*R.y*R.j + (-R.x*R.z)*R.k

©ÚexpressT©Ú	variablesc              3   ó>   <"  € T F  p\        VSR 7      x € K  	  R# 5i©r8   N)rU   ©Ú.0r   r9   s   & €r   Ú	<genexpr>Úcurl.<locals>.<genexpr>¤   s   øé € Ð%GÁ$¸Q¤d¨1°4×&8Ñ&8Ã$ùó   ƒc              3   ól   "  € T F*  p\        V\        \        \        34      '       d   K&  Vx € K,  	  R # 5ir   ©r   r   r   r,   ©r_   r   s   & r   r`   ra   §   ó$   é € Ð!g©Y¨¼jÈÌVÔUZÔ\dÐLe×>f§!¢!«Yùó   ‚#4ª
4r8   zInvalid argument for curl)r   Úlenr   ÚzeroÚnextÚiterÚbase_vectorsÚbase_scalarsÚlame_coefficientsÚdotr   r9   r   r   r
   Úsympy.vectorrY   r&   Ú
ValueErrorÚfromiterr   r	   r   r,   r:   rU   rQ   )Úvectr9   Ú	coord_sysr   ÚjÚkÚxÚyÚzÚh1Úh2Úh3ÚvectxÚvectyÚvectzÚoutvecrY   Úcsr&   ÚvectorÚscalarÚress   &f                    r   rU   rU   g   s¬  ø€ ô< # 4Ó(€Iä
ˆ9ƒ~˜ÔÜ�{‰{ÐÜ	ˆY‹˜1Õ	Üœ˜i›Ó)ˆ	Ø×(Ñ(Ó*‰ˆˆaØ×(Ñ(Ó*‰ˆˆaØ×0Ñ0Ó2‰
ˆ�Ø—‘˜“ˆØ—‘˜“ˆØ—‘˜“ˆÜ—‘ˆØ”:˜e�j¨!Ó,Ü˜e�j¨!Ó,õ-Ø01õ2Ø57µWõ>õ 	>ˆà”:˜e�j¨!Ó,Ü˜e�j¨!Ó,õ-Ø01õ2Ø57µWõ>õ 	>ˆà”:˜e�j¨!Ó,Ü˜e�j¨!Ó,õ-Ø01õ2Ø57µWõ>õ 	>ˆ÷ Ø—;‘;“=Ð Øˆä�dœS¤)Ð,×-Ò-Ý,ð!Üœ$˜y›/Ó*�Ø@DÇ	Â	ÓJÁ	¸1™  2°×6Á	�ÐJô ×%Ò%Ô%GÁ$Ó%GÓGÐGÜ˜œs¤IÐ.×/Ò/Ø!%§¢ÓW¡˜A¬j¸¼VÄUÌHÐ<U×.V—a�a¡ÑWÐXYÕZˆFÜ—\’\Ñ!g¨T¯YªYÓ!gÓgˆFÜœ Ó(¨&Ó1×6Ñ6Ó8¸6Ä$ÀvÐTXÔBYÕ;YÕYˆCßØ—x‘x“zÐ!ØˆJÜ˜œu¤d¬HÐ5×6Ò6Ü˜“:ÐäÐ8Ó9Ð9ùò KøÜô !Ø—y‘y“ð!üò Xs0   Ç"M
 Ç9MÈM
 É#M(ÊM(ÍM
 Í
M%Í$M%c           	     ó†  a€ \        V 4      p\        V4      ^ 8X  d   \        P                  # \        V4      ^8X  Ed3   \	        V \
        \        \        34      '       d   \        V 4      # \        \        V4      4      pVP                  4       w  r4pVP                  4       w  rgpVP                  4       w  ršp\        V P                  V4      WjV4      Wš,          V,          ,          p\        V P                  V4      W{V	4      Wš,          V,          ,          p\        V P                  V4      W‰V
4      Wš,          V,          ,          pWÍ,           V,           pS'       d   VP!                  4       # V# \	        V \"        \$        34      '       d+   \"        P&                  ! V3R lV P(                   4       4      # \	        V \*        \,        34      '       d¶   V P(                   Uu. uF(  p\	        V\.        \
        \        34      '       g   K&  VNK*  	  up^ ,          p\*        P&                  ! R V P(                   4       4      p\1        V\3        V4      4      V\5        VSR7      ,          ,           pS'       d   VP!                  4       # V# \	        V \
        \        \        34      '       d   \        V 4      # \7        R4      hu upi )a+  
Returns the divergence of a vector field computed wrt the base
scalars of the given coordinate system.

Parameters
==========

vector : Vector
    The vector operand

doit : bool
    If True, the result is returned after calling .doit() on
    each component. Else, the returned expression contains
    Derivative instances

Examples
========

>>> from sympy.vector import CoordSys3D, divergence
>>> R = CoordSys3D('R')
>>> v1 = R.x*R.y*R.z * (R.i+R.j+R.k)

>>> divergence(v1)
R.x*R.y + R.x*R.z + R.y*R.z
>>> v2 = 2*R.y*R.z*R.j
>>> divergence(v2)
2*R.z

c              3   ó>   <"  € T F  p\        VSR 7      x € K  	  R# 5ir]   )rN   r^   s   & €r   r`   Údivergence.<locals>.<genexpr>ç   s   øé € ÐLÁ)¸Q¤
¨1°4× 8Ñ 8Ã)ùrb   c              3   ól   "  € T F*  p\        V\        \        \        34      '       d   K&  Vx € K,  	  R # 5ir   rd   re   s   & r   r`   r‡   ê   rf   rg   r8   zInvalid argument for divergence)r   rh   r   ÚZeror   r   rQ   r,   rJ   rj   rk   rl   rm   rn   Ú_diff_conditionalro   r9   r   r
   rr   r&   r   r	   r   r   r:   rN   rq   )rs   r9   rt   r   ru   rv   rw   rx   ry   rz   r{   r|   ÚvxÚvyÚvzr„   r‚   rƒ   s   &f                r   rN   rN   ²   s  ø€ ô< # 4Ó(€IÜ
ˆ9ƒ~˜ÔÜ�v‰vˆÜ	ˆY‹˜1Õ	Ü�dœU¤D¬(Ð3×4Ò4Ü˜dÓ#Ð#äœ˜i›Ó)ˆ	Ø×(Ñ(Ó*‰ˆˆaØ×(Ñ(Ó*‰ˆˆaØ×0Ñ0Ó2‰
ˆ�Ü˜tŸx™x¨›{¨A°2Ó6Ø•˜"•õˆä˜tŸx™x¨›{¨A°2Ó6Ø•˜"•õˆä˜tŸx™x¨›{¨A°2Ó6Ø•˜"•õˆà�g˜�lˆßØ—8‘8“:ÐØˆ
ä�dœS¤)Ð,×-Ò-Ü—<’<ÔLÀ$Ç)Â)ÓLÓLÐLÜ˜œs¤IÐ.×/Ò/Ø!%§¢ÓW¡˜A¬j¸¼VÄUÌHÐ<U×.V—a�a¡ÑWÐXYÕZˆFÜ—\’\Ñ!g¨T¯YªYÓ!gÓgˆFÜ�fœh vÓ.Ó/°&¼ÀFÐQUÔ9VÕ2VÕVˆCßØ—x‘x“zÐ!ØˆJÜ˜œu¤d¬HÐ5×6Ò6Ü˜dÓ#Ð#äÐ>Ó?Ð?ùò Xs   Ç #J>ÈJ>c                ód  a € \        S 4      p\        V4      ^ 8X  d   \        P                  # \        V4      ^8X  dá   \	        \        V4      4      pVP                  4       w  r4pVP                  4       w  rgpVP                  4       w  ršp\        S V	4      V,          p\        S V
4      V,          p\        S V4      V,          pV'       d1   WÆ,          W×,          ,           Wè,          ,           P                  4       # WÆ,          W×,          ,           Wè,          ,           # \        S \        \        34      '       d(   \        P                  ! R S P                   4       4      # \        S \         \"        34      '       d,   \%        S 4      p\        P                  ! V 3R lV 4       4      # \'        S 4      # )a_  
Returns the vector gradient of a scalar field computed wrt the
base scalars of the given coordinate system.

Parameters
==========

scalar_field : SymPy Expr
    The scalar field to compute the gradient of

doit : bool
    If True, the result is returned after calling .doit() on
    each component. Else, the returned expression contains
    Derivative instances

Examples
========

>>> from sympy.vector import CoordSys3D, gradient
>>> R = CoordSys3D('R')
>>> s1 = R.x*R.y*R.z
>>> gradient(s1)
R.y*R.z*R.i + R.x*R.z*R.j + R.x*R.y*R.k
>>> s2 = 5*R.x**2*R.z
>>> gradient(s2)
10*R.x*R.z*R.i + 5*R.x**2*R.k

c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   ©r:   re   s   & r   r`   Úgradient.<locals>.<genexpr>$  s   é € Ð%MÑ;L°a¤h¨q§k kÓ;Lùs   ‚c              3   óV   <"  € T F  pSV,          \        V4      ,          x € K   	  R # 5ir   r�   )r_   r   Úscalar_fields   & €r   r`   r‘   '  s"   øé € Ð%PÉaÈ l°QÕ&6¼À!»×&DÒ&DËaùs   ƒ&))r   rh   r   ri   rj   rk   rn   rl   rm   r   r9   r   r   r
   rr   r&   r   r	   r*   r,   )r“   r9   rt   rz   r{   r|   r   ru   rv   rw   rx   ry   r‹   rŒ   r�   Úss   f&              r   r:   r:   õ   sK  ø€ ô: # <Ó0€Iä
ˆ9ƒ~˜ÔÜ�{‰{ÐÜ	ˆY‹˜1Ô	Üœ˜i›Ó)ˆ	Ø×0Ñ0Ó2‰
ˆ�Ø×(Ñ(Ó*‰ˆˆaØ×(Ñ(Ó*‰ˆˆaÜ˜ aÓ(¨2Õ-ˆÜ˜ aÓ(¨2Õ-ˆÜ˜ aÓ(¨2Õ-ˆçØ•F˜R�V•O b¥fÕ,×2Ñ2Ó4Ð4Ø�v˜�� ¥Õ'Ð'ä�l¤S¬)Ð$4×5Ò5Ü×%Ò%Ñ%M¸<×;LÒ;LÓ%MÓMÐMÜ�l¤S¬)Ð$4×5Ò5Ü,¨\Ó:ˆAÜ×%Ò%Ô%PÉaÓ%PÓPÐPÜ˜Ó%Ð%r   c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )Ú	Laplaciani+  zÕ
Represents unevaluated Laplacian.

Examples
========

>>> from sympy.vector import CoordSys3D, Laplacian
>>> R = CoordSys3D('R')
>>> v = 3*R.x**3*R.y**2*R.z**3
>>> Laplacian(v)
Laplacian(3*R.x**3*R.y**2*R.z**3)

c                óT   € \        V4      p\        P                  ! W4      pWn        V# r   r.   r1   s   && r   r/   ÚLaplacian.__new__:  r5   r   c                ó2   € ^ RI Hp V! V P                  4      # )r   )Ú	laplacian)Úsympy.vector.functionsrš   r0   )r<   r=   rš   s   &, r   r9   ÚLaplacian.doit@  s   € Ý4Ù˜Ÿ™Ó$Ð$r   r!   Nr?   rG   s   @r   r–   r–   +  s   ø‡ € ñò÷%ð %r   r–   c                óš   € ^ RI Hp V! WP                  RR7      pW#,          V,          pV'       d   \        Wa4      # \        P
                  # )z¨
First re-expresses expr in the system that base_scalar belongs to.
If base_scalar appears in the re-expressed form, differentiates
it wrt base_scalar.
Else, returns 0
rX   TrZ   )r›   rY   Úsystemr   r   r‰   )r   Úbase_scalarÚcoeff_1Úcoeff_2rY   Únew_exprÚargs   &&&&   r   rŠ   rŠ   E  s<   € õ /Ù�t×/Ñ/¸4Ô@€HØ
Õ
˜hÕ
&€Cß+.Œ:�cÓ'Ð:´A·F±FÐ:r   )T)r$   Úsympy.core.exprr   Ú
sympy.corer   r   r   Úsympy.vector.coordsysrectr   Úsympy.vector.vectorr   r	   r
   r   r   Úsympy.core.functionr   Úsympy.core.addr   Úsympy.core.mulr   r   r*   r,   rJ   rQ   rU   rN   r:   r–   rŠ   r!   r   r   Ú<module>r«      sw   ðÛ Ý  ß 5Ñ 5Ý 0ß HÕ HÝ *Ý Ý òòô/ˆtô /ô21�ô 1ô2+ˆ4ô +ô2H:ôV@@ôF3&ôl%�ô %ô4
;r   