Hi!
I would like to check some differential vectorial identities. Any suggestion to achieve this goal would be welcomed.
Example of a case I already worked out: →∇(fg)=(→∇f)g+f(→∇g).
Code (I coudn't manage to put it on a single box, sorry):
from sage.manifolds.operators import
E.<x,y,z>=EuclideanSpace()
f=function('f')(x,y,z)
g=function('g'(x,y,z)
sff=E.scalar_field(fg,name='sff')
sfg=E.scalar_field(fg,name='sfg')
sffg=E.scalar_field(fg,name='sffg')
grad(sffg) == grad(sff)sfg+sffgrad(sfg)
Out: True
Example of what I want to check: →∇(→A⋅→B)=→A×(→∇×→B)+→B×(→∇×→A)+(→A⋅→∇)→B+(→B⋅→∇)→A. I don't know how to came to differential operators of the form (→A⋅→∇).
I tried (kind of hopelessly)
newOperator=A.dot(grad())
without success.
How could I put sage to check identities like this one?
Thank you in advance.