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' print 'E = Evec gamma_0 =',E F = E+I*B print '$E+IB$ Electo-Magnetic Field Bi-Vector' print 'F = E+IB =',F print '$J$ Four Current' print 'J =',J gradF = F.grad() gradF.convert_to_blades() print 'Geometric Derivative of Electo-Magnetic Field Bi-Vector' tex.MV_format(3) print '\\nabla F =',gradF print 'All Maxwell Equations are' print '\\nabla F = J' print 'Div $E$ and Curl $H$ Equations' print '<\\nabla F>_1 -J =',gradF.project(1)-J,' = 0' print 'Curl $E$ and Div $B$ equations' print '<\\nabla F>_3 =',gradF.project(3),' = 0' tex.xdvi(filename='Maxwell.tex')
import sys, sympy import sympy.galgebra.latex_ex as tex if __name__ == '__main__': tex.Format() xbm,alpha_1,delta__nugamma_r = sympy.symbols('xbm alpha_1 delta__nugamma_r') x = alpha_1*xbm/delta__nugamma_r print 'x =',x tex.xdvi()
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' print 'E = Evec gamma_0 =', E F = E + I * B print '$E+IB$ Electo-Magnetic Field Bi-Vector' print 'F = E+IB =', F print '$J$ Four Current' print 'J =', J gradF = F.grad() gradF.convert_to_blades() print 'Geometric Derivative of Electo-Magnetic Field Bi-Vector' tex.MV_format(3) print '\\nabla F =', gradF print 'All Maxwell Equations are' print '\\nabla F = J' print 'Div $E$ and Curl $H$ Equations' print '<\\nabla F>_1 -J =', gradF.project(1) - J, ' = 0' print 'Curl $E$ and Div $B$ equations' print '<\\nabla F>_3 =', gradF.project(3), ' = 0' tex.xdvi(filename='Maxwell.tex')
'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 '+\ r'$\lp\nabla \bm{\psi} I \sigma_{z}-eA\bm{\psi} = m\bm{\psi}\gamma_{t}\rp$' print 'Spin measured with respect to $z$ axis' tex.MV_format(3) print r'\nabla \bm{\psi} I \sigma_{z}-eA\bm{\psi}-m\bm{\psi}\gamma_{t} = ',dirac_eq,' = 0' tex.xdvi(filename='Dirac.tex')
'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 tex.MV_format(3) print '-I\\lp\\nabla \\W A\\rp =', curlA tex.xdvi(filename='coords.tex')
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 tex.MV_format(3) print '-I\\lp\\nabla \\W A\\rp =', curlA tex.xdvi(filename='coords.tex')
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" print "E = Evec gamma_0 =", E F = E + I * B print "$E+IB$ Electo-Magnetic Field Bi-Vector" print "F = E+IB =", F print "$J$ Four Current" print "J =", J gradF = F.grad() gradF.convert_to_blades() print "Geometric Derivative of Electo-Magnetic Field Bi-Vector" tex.MV_format(3) print "\\nabla F =", gradF print "All Maxwell Equations are" print "\\nabla F = J" print "Div $E$ and Curl $H$ Equations" print "<\\nabla F>_1 -J =", gradF.project(1) - J, " = 0" print "Curl $E$ and Div $B$ equations" print "<\\nabla F>_3 =", gradF.project(3), " = 0" tex.xdvi(filename="Maxwell.tex")
'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 '+\ r'$\lp\nabla \bm{\psi} I \sigma_{z}-eA\bm{\psi} = m\bm{\psi}\gamma_{t}\rp$' print 'Spin measured with respect to $z$ axis' tex.MV_format(3) print r'\nabla \bm{\psi} I \sigma_{z}-eA\bm{\psi}-m\bm{\psi}\gamma_{t} = ', dirac_eq, ' = 0' tex.xdvi(filename='Dirac.tex')
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 tex.MV_format(3) print "-I\\lp\\nabla \\W A\\rp =", curlA tex.xdvi(filename="coords.tex")
import sys, sympy import sympy.galgebra.latex_ex as tex if __name__ == '__main__': tex.Format() xbm, alpha_1, delta__nugamma_r = sympy.symbols( 'xbm alpha_1 delta__nugamma_r') x = alpha_1 * xbm / delta__nugamma_r print 'x =', x tex.xdvi()
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 " + r"$\lp\nabla \bm{\psi} I \sigma_{z}-eA\bm{\psi} = m\bm{\psi}\gamma_{t}\rp$" print "Spin measured with respect to $z$ axis" tex.MV_format(3) print r"\nabla \bm{\psi} I \sigma_{z}-eA\bm{\psi}-m\bm{\psi}\gamma_{t} = ", dirac_eq, " = 0" tex.xdvi(filename="Dirac.tex")