def derivatives_in_rectangular_coordinates(): Print_Function() X = (x, y, z) = symbols('x y z') o3d = Ga('e_x e_y e_z', g=[1, 1, 1], coords=X) (ex, ey, ez) = o3d.mv() grad = o3d.grad f = o3d.mv('f', 'scalar', f=True) A = o3d.mv('A', 'vector', f=True) B = o3d.mv('B', 'bivector', f=True) C = o3d.mv('C', 'mv', f=True) print 'f =', f print 'A =', A print 'B =', B print 'C =', C print 'grad*f =', grad * f print 'grad|A =', grad | A print 'grad*A =', grad * A print '-I*(grad^A) =', -o3d.E() * (grad ^ A) print 'grad*B =', grad * B print 'grad^B =', grad ^ B print 'grad|B =', grad | B print 'grad<A =', grad < A print 'grad>A =', grad > A print 'grad<B =', grad < B print 'grad>B =', grad > B print 'grad<C =', grad < C print 'grad>C =', grad > C return
def derivatives_in_spherical_coordinates(): Print_Function() X = (r,th,phi) = symbols('r theta phi') s3d = Ga('e_r e_theta e_phi',g=[1,r**2,r**2*sin(th)**2],coords=X,norm=True) (er,eth,ephi) = s3d.mv() grad = s3d.grad f = s3d.mv('f','scalar',f=True) A = s3d.mv('A','vector',f=True) B = s3d.mv('B','bivector',f=True) print 'f =',f print 'A =',A print 'B =',B print 'grad*f =',grad*f print 'grad|A =',grad|A print '-I*(grad^A) =',(-s3d.E()*(grad^A)).simplify() print 'grad^B =',grad^B