1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#!/usr/bin/env python
from __future__ import print_function
from sympy.galgebra import xdvi, Get_Program, Print_Function
from sympy.galgebra import MV, Format
def basic_multivector_operations_3D():
Print_Function()
(ex, ey, ez) = MV.setup('e*x|y|z')
print('g_{ij} =', MV.metric)
A = MV('A', 'mv')
A.Fmt(1, 'A')
A.Fmt(2, 'A')
A.Fmt(3, 'A')
A.even().Fmt(1, '%A_{+}')
A.odd().Fmt(1, '%A_{-}')
X = MV('X', 'vector')
Y = MV('Y', 'vector')
X.Fmt(1, 'X')
Y.Fmt(1, 'Y')
(X*Y).Fmt(2, 'X*Y')
(X ^ Y).Fmt(2, 'X^Y')
(X | Y).Fmt(2, 'X|Y')
return
def basic_multivector_operations_2D():
Print_Function()
(ex, ey) = MV.setup('e*x|y')
print('g_{ij} =', MV.metric)
X = MV('X', 'vector')
A = MV('A', 'spinor')
X.Fmt(1, 'X')
A.Fmt(1, 'A')
(X | A).Fmt(2, 'X|A')
(X < A).Fmt(2, 'X<A')
(A > X).Fmt(2, 'A>X')
return
def dummy():
return
def main():
Get_Program(True)
Format()
basic_multivector_operations_3D()
basic_multivector_operations_2D()
xdvi('simple_test_latex.tex')
return
if __name__ == "__main__":
main()
|