Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 130
reset() pretty_print_default(True)
M = Manifold(4, 'M')
print M
4-dimensional differentiable manifold M
fr.<t,x,y,z> = M.chart('t:(-oo,+oo) x:(-oo,+oo) y:(-oo,+oo) z:(-oo,+oo)') fr
(M,(t,x,y,z))\displaystyle \left(M,(t, x, y, z)\right)
s = var('s', domain='positive') Lambda = var('Lambda', domain='positive') k = var('k', domain='integer') epsilon = var('epsilon') a = M.scalar_field(function('a')(t), name='a') b = M.scalar_field(function('b')(t), name='b') rho = M.scalar_field(function('rho')(t), name='rho')
g = M.lorentz_metric('g') g[0,0] = -1 g[1,1] = a^2 g[2,2] = a^2 g[3,3] = a^2 g.display()
<string>:1: DeprecationWarning: Use lorentzian_metric() instead. See http://trac.sagemath.org/19209 for details.
g=dtdt+a(t)2dxdx+a(t)2dydy+a(t)2dzdz\displaystyle g = -\mathrm{d} t\otimes \mathrm{d} t + a\left(t\right)^{2} \mathrm{d} x\otimes \mathrm{d} x + a\left(t\right)^{2} \mathrm{d} y\otimes \mathrm{d} y + a\left(t\right)^{2} \mathrm{d} z\otimes \mathrm{d} z
gamma = M.tensor_field(0,2) g00 = M.scalar_field(function('g00')(t, x, y, z), latex_name='\gamma_{00}') g11 = M.scalar_field(function('g11')(t, x, y, z), latex_name='\gamma_{11}') g22 = M.scalar_field(function('g22')(t, x, y, z), latex_name='\gamma_{22}') g33 = M.scalar_field(function('g33')(t, x, y, z), latex_name='\gamma_{33}') gamma[0,0] = g00 gamma[1,1] = g11 gamma[2,2] = g22 gamma[3,3] = g33
G = g + epsilon*gamma G.display()
(ϵg00(t,x,y,z)1)dtdt+(a(t)2+ϵg11(t,x,y,z))dxdx+(a(t)2+ϵg22(t,x,y,z))dydy+(a(t)2+ϵg33(t,x,y,z))dzdz\displaystyle \left( \epsilon g_{00}\left(t, x, y, z\right) - 1 \right) \mathrm{d} t\otimes \mathrm{d} t + \left( a\left(t\right)^{2} + \epsilon g_{11}\left(t, x, y, z\right) \right) \mathrm{d} x\otimes \mathrm{d} x + \left( a\left(t\right)^{2} + \epsilon g_{22}\left(t, x, y, z\right) \right) \mathrm{d} y\otimes \mathrm{d} y + \left( a\left(t\right)^{2} + \epsilon g_{33}\left(t, x, y, z\right) \right) \mathrm{d} z\otimes \mathrm{d} z
Gup = g.up(g) - epsilon*gamma.up(g) Gup.display()
(ϵg00(t,x,y,z)1)tt+(a(t)2ϵg11(t,x,y,z)a(t)4)xx+(a(t)2ϵg22(t,x,y,z)a(t)4)yy+(a(t)2ϵg33(t,x,y,z)a(t)4)zz\displaystyle \left( -\epsilon g_{00}\left(t, x, y, z\right) - 1 \right) \frac{\partial}{\partial t }\otimes \frac{\partial}{\partial t } + \left( \frac{a\left(t\right)^{2} - \epsilon g_{11}\left(t, x, y, z\right)}{a\left(t\right)^{4}} \right) \frac{\partial}{\partial x }\otimes \frac{\partial}{\partial x } + \left( \frac{a\left(t\right)^{2} - \epsilon g_{22}\left(t, x, y, z\right)}{a\left(t\right)^{4}} \right) \frac{\partial}{\partial y }\otimes \frac{\partial}{\partial y } + \left( \frac{a\left(t\right)^{2} - \epsilon g_{33}\left(t, x, y, z\right)}{a\left(t\right)^{4}} \right) \frac{\partial}{\partial z }\otimes \frac{\partial}{\partial z }
nabla = g.connection() print nabla ; nabla
Levi-Civita connection nabla_g associated with the Lorentzian metric g on the 4-dimensional differentiable manifold M
g\displaystyle \nabla_{g}
Ricci = nabla.ricci() print Ricci ; Ricci
Field of symmetric bilinear forms Ric(g) on the 4-dimensional differentiable manifold M
Ric(g)\displaystyle \mathrm{Ric}\left(g\right)
Ricci_scalar = g.ricci_scalar() Ricci_scalar.display()
r(g):MR(t,x,y,z)6((at)2+a(t)2at2)a(t)2\displaystyle \begin{array}{llcl} \mathrm{r}\left(g\right):& M & \longrightarrow & \mathbb{R} \\ & \left(t, x, y, z\right) & \longmapsto & \frac{6 \, {\left(\left(\frac{\partial\,a}{\partial t}\right)^{2} + a\left(t\right) \frac{\partial^2\,a}{\partial t^2}\right)}}{a\left(t\right)^{2}} \end{array}
aux = nabla(G) aux[0,0,1].display()
(t,x,y,z)ϵg00x\displaystyle \left(t, x, y, z\right) \mapsto \epsilon \frac{\partial\,g_{00}}{\partial x}
C = (1/2)*Gup['^{cd}']*aux['_{dab}'] + (1/2)*Gup['^{cd}']*aux['_{bda}'] - (1/2)*Gup['^{cd}']*aux['_{abd}']
B = M.vector_field('B') B[0] = -b B.display()
B=b(t)t\displaystyle B = -b\left(t\right) \frac{\partial}{\partial t }
B_form = B.down(g) # the 1-form associated to B by metric duality B_form.display()
b(t)dt\displaystyle b\left(t\right) \mathrm{d} t
T01ab = nabla(B*B) + C['^{c}_{ab}']*B['^{a}']*B + C['^{c}_{ab}']*B['^{b}']*B
T01 = lim(derivative(T01ab,epsilon),epsilon=0)
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 942, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/calculus/functional.py", line 134, in derivative f = SR(f) File "sage/structure/parent.pyx", line 1111, in sage.structure.parent.Parent.__call__ (/projects/sage/sage-6.10/src/build/cythonized/sage/structure/parent.c:9821) return mor._call_(x) File "sage/structure/coerce_maps.pyx", line 109, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/projects/sage/sage-6.10/src/build/cythonized/sage/structure/coerce_maps.c:4542) raise File "sage/structure/coerce_maps.pyx", line 104, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/projects/sage/sage-6.10/src/build/cythonized/sage/structure/coerce_maps.c:4426) return C._element_constructor(x) File "sage/symbolic/ring.pyx", line 314, in sage.symbolic.ring.SymbolicRing._element_constructor_ (/projects/sage/sage-6.10/src/build/cythonized/sage/symbolic/ring.cpp:6299) raise TypeError TypeError
derivative(T01ab,epsilon)
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 942, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/calculus/functional.py", line 134, in derivative f = SR(f) File "sage/structure/parent.pyx", line 1111, in sage.structure.parent.Parent.__call__ (/projects/sage/sage-6.10/src/build/cythonized/sage/structure/parent.c:9821) return mor._call_(x) File "sage/structure/coerce_maps.pyx", line 109, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/projects/sage/sage-6.10/src/build/cythonized/sage/structure/coerce_maps.c:4542) raise File "sage/structure/coerce_maps.pyx", line 104, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/projects/sage/sage-6.10/src/build/cythonized/sage/structure/coerce_maps.c:4426) return C._element_constructor(x) File "sage/symbolic/ring.pyx", line 314, in sage.symbolic.ring.SymbolicRing._element_constructor_ (/projects/sage/sage-6.10/src/build/cythonized/sage/symbolic/ring.cpp:6299) raise TypeError TypeError