Пример #1
0
    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')
Пример #2
0
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()
Пример #3
0
    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')
Пример #4
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')
Пример #5
0
        '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')
Пример #6
0
                                            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')
Пример #7
0
    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")
Пример #8
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')
Пример #9
0
    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")
Пример #10
0
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()
Пример #11
0
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")