GA.set_main(sys.modules[__name__]) if __name__ == '__main__': metric = '1 0 0 0,'+\ '0 -1 0 0,'+\ '0 0 -1 0,'+\ '0 0 0 -1' vars = GA.make_symbols('t x y z') GA.MV.setup('gamma_t gamma_x gamma_y gamma_z', metric, True, vars) parms = GA.make_symbols('m e') tex.Format() I = GA.MV(GA.ONE, 'pseudo') nvars = len(vars) psi = GA.MV('psi', 'spinor', fct=True) psi.convert_to_blades() A = GA.MV('A', 'vector', fct=True) sig_x = gamma_x * gamma_t sig_y = gamma_y * gamma_t sig_z = gamma_z * gamma_t print '$A$ is 4-vector potential' print A print r'$\bm{\psi}$ is 8-component real spinor (even multi-vector)' print psi dirac_eq = psi.grad() * I * sig_z - e * A * psi - m * psi * gamma_t dirac_eq.simplify() dirac_eq.convert_to_blades() print 'Dirac equation in terms of real geometric algebra/calculus '+\
metric = '1 0 0,' \ '0 1 0,' \ '0 0 1' gamma_x, gamma_y, gamma_z = GA.MV.setup('gamma_x gamma_y gamma_z', metric, True) tex.Format() coords = r, theta, phi = sympy.symbols('r theta phi') x = r * (sympy.cos(theta) * gamma_z + sympy.sin(theta) * (sympy.cos(phi) * gamma_x + sympy.sin(phi) * gamma_y)) x.set_name('x') GA.MV.rebase(x, coords, 'e', True) psi = GA.MV('psi', 'scalar', fct=True) dpsi = psi.grad() print 'Gradient of Scalar Function $\\psi$' print '\\nabla\\psi =', dpsi A = GA.MV('A', 'vector', fct=True) print 'Div and Curl of Vector Function $A$' print A gradA = A.grad() I = GA.MV(GA.ONE, 'pseudo') divA = A.grad_int() curlA = -I * A.grad_ext() print '\\nabla \\cdot A =', divA
import sympy.galgebra.GA as GA import sympy.galgebra.latex_ex as tex GA.set_main(sys.modules[__name__]) if __name__ == '__main__': metric = '1 0 0 0,'+\ '0 -1 0 0,'+\ '0 0 -1 0,'+\ '0 0 0 -1' vars = GA.make_symbols('t x y z') GA.MV.setup('gamma_t gamma_x gamma_y gamma_z',metric,True,vars) tex.Format() I = GA.MV(1,'pseudo') I.convert_to_blades() print '$I$ Pseudo-Scalar' print 'I =',I B = GA.MV('B','vector',fct=True) E = GA.MV('E','vector',fct=True) B.set_coef(1,0,0) E.set_coef(1,0,0) B *= gamma_t E *= gamma_t B.convert_to_blades() E.convert_to_blades() J = GA.MV('J','vector',fct=True) print '$B$ Magnetic Field Bi-Vector' print 'B = Bvec gamma_0 =',B print '$E$ Electric Field Bi-Vector'