In [1]:
from sympy import *
from ga import Ga
from printer import Format, Fmt
Format()
In [2]:
xyz_coords = (x, y, z) = symbols('x y z', real=True)
(o3d, ex, ey, ez) = Ga.build('e', g=[1, 1, 1], coords=xyz_coords, norm=True)
In [3]:
f = o3d.mv('f', 'scalar', f=True)
F = o3d.mv('F', 'vector', f=True)
lap = o3d.grad*o3d.grad
In [4]:
lap.Fmt(1,r'\nabla^{2}')
Out[4]:
In [5]:
(lap*f).Fmt(1,r'\nabla^{2}f')
Out[5]:
In [6]:
o3d.grad | (o3d.grad * f)
Out[6]:
In [7]:
o3d.grad|F
Out[7]:
In [8]:
o3d.grad * F
Out[8]:
In [9]:
sph_coords = (r, th, phi) = symbols('r theta phi', real=True)
(sp3d, er, eth, ephi) = Ga.build('e', g=[1, r**2, r**2 * sin(th)**2], coords=sph_coords, norm=True)
In [10]:
f = sp3d.mv('f', 'scalar', f=True)
F = sp3d.mv('F', 'vector', f=True)
B = sp3d.mv('B', 'bivector', f=True)
lap = sp3d.grad*sp3d.grad
lap.Fmt(1,r'\nabla^{2}')
Out[10]:
In [11]:
lap*f
Out[11]:
In [12]:
sp3d.grad | (sp3d.grad * f)
Out[12]:
In [13]:
sp3d.grad | F
Out[13]:
In [14]:
sp3d.grad ^ F
Out[14]:
In [26]:
(sp3d.grad | B).Fmt(3)
Out[26]:
In [27]:
Fmt([o3d.grad,o3d.grad],1)
Out[27]:
In [28]:
F.Fmt(1)
Out[28]:
In [29]:
Fmt((F,F))
Out[29]:
In [29]: