
    \hw                     :    S SK Jr  S SKJrJrJr   " S S\5      rg)    )Basic)gradient
divergencecurlc                      ^  \ rS rSrSrU 4S jrS	S jr\r\R                  \l        S	S jr\r	\R                  \	l        S	S jr
\
r\
R                  \l        S rSrU =r$ )
Del   zu
Represents the vector differential operator, usually represented in
mathematical expressions as the 'nabla' symbol.
c                 4   > [         TU ]  U 5      nSUl        U$ )Ndelop)super__new___name)clsobj	__class__s     P/var/www/auris/envauris/lib/python3.13/site-packages/sympy/vector/deloperator.pyr   Del.__new__   s    goc"	
    c                     [        XS9$ )a  
Returns the gradient of the given scalar field, as a
Vector instance.

Parameters
==========

scalar_field : SymPy expression
    The scalar field to calculate 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, Del
>>> C = CoordSys3D('C')
>>> delop = Del()
>>> delop.gradient(9)
0
>>> delop(C.x*C.y*C.z).doit()
C.y*C.z*C.i + C.x*C.z*C.j + C.x*C.y*C.k

doit)r   )selfscalar_fieldr   s      r   r   Del.gradient   s    : 00r   c                     [        XS9$ )a`  
Represents the dot product between this operator and a given
vector - equal to the divergence of the vector field.

Parameters
==========

vect : Vector
    The vector whose divergence is to be calculated.

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, Del
>>> delop = Del()
>>> C = CoordSys3D('C')
>>> delop.dot(C.x*C.i)
Derivative(C.x, C.x)
>>> v = C.x*C.y*C.z * (C.i + C.j + C.k)
>>> (delop & v).doit()
C.x*C.y + C.x*C.z + C.y*C.z

r   )r   r   vectr   s      r   dotDel.dot2   s    : $**r   c                     [        XS9$ )a  
Represents the cross product between this operator and a given
vector - equal to the curl of the vector field.

Parameters
==========

vect : Vector
    The vector whose curl is to be calculated.

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, Del
>>> C = CoordSys3D('C')
>>> delop = Del()
>>> v = C.x*C.y*C.z * (C.i + C.j + C.k)
>>> delop.cross(v, doit = True)
(-C.x*C.y + C.x*C.z)*C.i + (C.x*C.y - C.y*C.z)*C.j +
    (-C.x*C.z + C.y*C.z)*C.k
>>> (delop ^ C.i).doit()
0

r   )r   r   s      r   cross	Del.crossT   s    > D$$r   c                     U R                   $ )N)r   )r   printers     r   	_sympystrDel._sympystrx   s    zzr    )F)__name__
__module____qualname____firstlineno____doc__r   r   __call__r   __and__r!   __xor__r%   __static_attributes____classcell__)r   s   @r   r   r      s`    

1> H''H+> GkkGO%B GmmGO r   r   N)
sympy.corer   sympy.vector.operatorsr   r   r   r   r'   r   r   <module>r4      s     = =t% tr   