2 import iam_sympy_example
5 http://www.lncc.br/~portugal/Canon.html
6 http://www.lncc.br/~portugal/Invar.html
7 http://www.ginac.de/tutorial/Indexed-objects.html
8 http://grtensor.phy.queensu.ca/
12 from sympy
import exp
, Symbol
, sin
, Rational
, Derivative
, dsolve
14 from sympy
.core
import Basic
, Function
15 from sympy
.matrices
import Matrix
18 def __init__(self
, A
, idxlist
):
19 self
._args
= [A
, idxlist
]
28 def __init__(self
, name
, dim
= 4, up
= True):
29 Symbol
.__init
__(self
, name
)
30 #self._args.extend([dim,up])
44 return Idx(self
._name
, self
._dim
, True)
48 return Idx(self
._name
, self
._dim
, False)
51 return range(self
._dim
)
55 theta
=Symbol(r
"\theta")
65 (0, exp(lam(r
)), 0, 0),
67 (0, 0, 0, r
**2*sin(theta
)**2)
76 g
= Indexed(Symbol("A"), [mu
,nu
])
77 Chr
= g
[i
.up
, m
.up
]/2 * (g
[m
.dn
, k
.dn
].diff(l
.up
) + g
[m
.dn
,l
.dn
].diff(k
.up
) \
78 - g
[k
.dn
, l
.dn
].diff(m
.up
))
79 #G = g.uu(i,m)/2 * (g.dd(m,k).diff(x[l])+g.dd(m,l).diff(x[k]) \
80 # - g.dd(k,l).diff(x[m]))