Initialisation du repository de Beta
This commit is contained in:
commit
14985f6dbb
9469 changed files with 1903273 additions and 0 deletions
121
venv/lib/python3.12/site-packages/sympy/vector/deloperator.py
Normal file
121
venv/lib/python3.12/site-packages/sympy/vector/deloperator.py
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
from sympy.core import Basic
|
||||
from sympy.vector.operators import gradient, divergence, curl
|
||||
|
||||
|
||||
class Del(Basic):
|
||||
"""
|
||||
Represents the vector differential operator, usually represented in
|
||||
mathematical expressions as the 'nabla' symbol.
|
||||
"""
|
||||
|
||||
def __new__(cls):
|
||||
obj = super().__new__(cls)
|
||||
obj._name = "delop"
|
||||
return obj
|
||||
|
||||
def gradient(self, scalar_field, doit=False):
|
||||
"""
|
||||
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
|
||||
|
||||
"""
|
||||
|
||||
return gradient(scalar_field, doit=doit)
|
||||
|
||||
__call__ = gradient
|
||||
__call__.__doc__ = gradient.__doc__
|
||||
|
||||
def dot(self, vect, doit=False):
|
||||
"""
|
||||
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
|
||||
|
||||
"""
|
||||
return divergence(vect, doit=doit)
|
||||
|
||||
__and__ = dot
|
||||
__and__.__doc__ = dot.__doc__
|
||||
|
||||
def cross(self, vect, doit=False):
|
||||
"""
|
||||
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
|
||||
|
||||
"""
|
||||
|
||||
return curl(vect, doit=doit)
|
||||
|
||||
__xor__ = cross
|
||||
__xor__.__doc__ = cross.__doc__
|
||||
|
||||
def _sympystr(self, printer):
|
||||
return self._name
|
||||
Loading…
Add table
Add a link
Reference in a new issue