{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# SageMath para físicos\n",
"***\n",
"Rogério T. C."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"## Aula IV.2"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Equações de Friedmann\n",
"Baseado [neste exemplo](https://nbviewer.jupyter.org/github/sagemanifolds/SageManifolds/blob/master/Worksheets/v1.3/SM_Friedmann_equations.ipynb)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%display latex\n",
"reset()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"**Princípio cosmológico**\n",
"\n",
"* Observações sugerem que nosso universo é espacialmente homogêneo e isotrópico.\n",
"\n",
"* Homogeneidade implica em invariância na curvatura em translações (vetores de Killing).\n",
"\n",
"- Isotropia significa invariância por rotações (vetores de Killing)."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"Em relatividade geral, isso se traduz na afirmação de que o universo pode ser folheado em fatias do tipo-espaço espaço, de modo que cada fatia tridimensional seja maximalmente simétrica (Topologicamente $\\mathbb{R} \\times \\Sigma$, com $\\Sigma$ maximalmente simétrico). "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"A métrica de um espaço-tempo do tipo $\\mathbb{R} \\times \\Sigma$ pode ser escrita como\n",
"\n",
"$$\\begin{equation}\n",
"ds^2=-dt^2+a^2(t)\\left(\\frac{dr^2}{1-kr^2}+r^2d\\Omega^2\\right).\n",
"\\end{equation}$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Que é a famosa métrica de Friedmann-Robertson-Walker (FRW)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"Vamos usar a equação de Einstein para encontrar uma equação dinâmica para o fator de escala $a(t)$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Declarações iniciais"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Declarando um espaço-tempo de 4 dimensões com estrutura Lorenziana."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}FRW\n",
"\\end{math}"
],
"text/plain": [
"4-dimensional Lorentzian manifold FRW"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"4-dimensional Lorentzian manifold FRW\n"
]
}
],
"source": [
"frw = Manifold(4, 'FRW', structure='Lorentzian')\n",
"show(frw)\n",
"print(frw)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Declarando as cartas (coordenadas) do espaço-tempo"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(FRW,(t, r, {\\theta}, {\\phi})\\right)\n",
"\\end{math}"
],
"text/plain": [
"Chart (FRW, (t, r, th, ph))"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Ch. = frw.chart(r't r:[0,+oo) th:[0,pi]:\\theta ph:[0,2*pi):\\phi')\n",
"Ch"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Precisaremos de variaveis simbólicas para constange gravitacional $G$, a constante cosmológica $\\Lambda$ e o parâmetro de curvatura $k$."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(G, \\Lambda, k\\right)\n",
"\\end{math}"
],
"text/plain": [
"(G, Lambda, k)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"var('G, Lambda, k', domain='real')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Além de um campo escalar $a$ para o fator de escala."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"a = frw.scalar_field(function('a')(t), name='a')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} a:& FRW & \\longrightarrow & \\mathbb{R} \\\\ & \\left(t, r, {\\theta}, {\\phi}\\right) & \\longmapsto & a\\left(t\\right) \\end{array}\n",
"\\end{math}"
],
"text/plain": [
"a: FRW --> R\n",
" (t, r, th, ph) |--> a(t)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a.display()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Tensores fundamentais"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Podemos agora declarar a métrica de FRW e iniciar suas componentes."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ds^2=-dt^2+a^2(t)\\frac{dr^2}{1-kr^2}+a^2(t)r^2 d\\theta^2+a^2(t)r^2\\sin^2\\theta d\\phi^2$$"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Lorentzian metric g on the 4-dimensional Lorentzian manifold FRW\n"
]
}
],
"source": [
"g = frw.metric()\n",
"print(g)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = -\\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{a\\left(t\\right)^{2}}{k r^{2} - 1} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} a\\left(t\\right)^{2} \\mathrm{d} {\\theta}\\otimes \\mathrm{d} {\\theta} + r^{2} a\\left(t\\right)^{2} \\sin\\left({\\theta}\\right)^{2} \\mathrm{d} {\\phi}\\otimes \\mathrm{d} {\\phi}\n",
"\\end{math}"
],
"text/plain": [
"g = -dt*dt - a(t)^2/(k*r^2 - 1) dr*dr + r^2*a(t)^2 dth*dth + r^2*a(t)^2*sin(th)^2 dph*dph"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g[0,0] = -1\n",
"g[1,1] = a*a/(1 - k*r^2)\n",
"g[2,2] = a*a*r^2\n",
"g[3,3] = a*a*(r*sin(th))^2\n",
"g.display()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrrr}\n",
"-1 & 0 & 0 & 0 \\\\\n",
"0 & -\\frac{a\\left(t\\right)^{2}}{k r^{2} - 1} & 0 & 0 \\\\\n",
"0 & 0 & r^{2} a\\left(t\\right)^{2} & 0 \\\\\n",
"0 & 0 & 0 & r^{2} a\\left(t\\right)^{2} \\sin\\left({\\theta}\\right)^{2}\n",
"\\end{array}\\right)\n",
"\\end{math}"
],
"text/plain": [
"[ -1 0 0 0]\n",
"[ 0 -a(t)^2/(k*r^2 - 1) 0 0]\n",
"[ 0 0 r^2*a(t)^2 0]\n",
"[ 0 0 0 r^2*a(t)^2*sin(th)^2]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g[:]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Conexão de Levi-Civita"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Levi-Civita connection nabla_g associated with the Lorentzian metric g on the 4-dimensional Lorentzian manifold FRW\n"
]
}
],
"source": [
"nabla = g.connection()\n",
"print(nabla)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\nabla_{g}\n",
"\\end{math}"
],
"text/plain": [
"Levi-Civita connection nabla_g associated with the Lorentzian metric g on the 4-dimensional Lorentzian manifold FRW"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nabla"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Símbolos de Christoffel"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{lcl} \\Gamma_{ \\phantom{\\, t} \\, r \\, r }^{ \\, t \\phantom{\\, r} \\phantom{\\, r} } & = & -\\frac{a\\left(t\\right) \\frac{\\partial\\,a}{\\partial t}}{k r^{2} - 1} \\\\ \\Gamma_{ \\phantom{\\, t} \\, {\\theta} \\, {\\theta} }^{ \\, t \\phantom{\\, {\\theta}} \\phantom{\\, {\\theta}} } & = & r^{2} a\\left(t\\right) \\frac{\\partial\\,a}{\\partial t} \\\\ \\Gamma_{ \\phantom{\\, t} \\, {\\phi} \\, {\\phi} }^{ \\, t \\phantom{\\, {\\phi}} \\phantom{\\, {\\phi}} } & = & r^{2} a\\left(t\\right) \\sin\\left({\\theta}\\right)^{2} \\frac{\\partial\\,a}{\\partial t} \\\\ \\Gamma_{ \\phantom{\\, r} \\, t \\, r }^{ \\, r \\phantom{\\, t} \\phantom{\\, r} } & = & \\frac{\\frac{\\partial\\,a}{\\partial t}}{a\\left(t\\right)} \\\\ \\Gamma_{ \\phantom{\\, r} \\, r \\, r }^{ \\, r \\phantom{\\, r} \\phantom{\\, r} } & = & -\\frac{k r}{k r^{2} - 1} \\\\ \\Gamma_{ \\phantom{\\, r} \\, {\\theta} \\, {\\theta} }^{ \\, r \\phantom{\\, {\\theta}} \\phantom{\\, {\\theta}} } & = & k r^{3} - r \\\\ \\Gamma_{ \\phantom{\\, r} \\, {\\phi} \\, {\\phi} }^{ \\, r \\phantom{\\, {\\phi}} \\phantom{\\, {\\phi}} } & = & {\\left(k r^{3} - r\\right)} \\sin\\left({\\theta}\\right)^{2} \\\\ \\Gamma_{ \\phantom{\\, {\\theta}} \\, t \\, {\\theta} }^{ \\, {\\theta} \\phantom{\\, t} \\phantom{\\, {\\theta}} } & = & \\frac{\\frac{\\partial\\,a}{\\partial t}}{a\\left(t\\right)} \\\\ \\Gamma_{ \\phantom{\\, {\\theta}} \\, r \\, {\\theta} }^{ \\, {\\theta} \\phantom{\\, r} \\phantom{\\, {\\theta}} } & = & \\frac{1}{r} \\\\ \\Gamma_{ \\phantom{\\, {\\theta}} \\, {\\phi} \\, {\\phi} }^{ \\, {\\theta} \\phantom{\\, {\\phi}} \\phantom{\\, {\\phi}} } & = & -\\cos\\left({\\theta}\\right) \\sin\\left({\\theta}\\right) \\\\ \\Gamma_{ \\phantom{\\, {\\phi}} \\, t \\, {\\phi} }^{ \\, {\\phi} \\phantom{\\, t} \\phantom{\\, {\\phi}} } & = & \\frac{\\frac{\\partial\\,a}{\\partial t}}{a\\left(t\\right)} \\\\ \\Gamma_{ \\phantom{\\, {\\phi}} \\, r \\, {\\phi} }^{ \\, {\\phi} \\phantom{\\, r} \\phantom{\\, {\\phi}} } & = & \\frac{1}{r} \\\\ \\Gamma_{ \\phantom{\\, {\\phi}} \\, {\\theta} \\, {\\phi} }^{ \\, {\\phi} \\phantom{\\, {\\theta}} \\phantom{\\, {\\phi}} } & = & \\frac{\\cos\\left({\\theta}\\right)}{\\sin\\left({\\theta}\\right)} \\end{array}\n",
"\\end{math}"
],
"text/plain": [
"Gam^t_r,r = -a(t)*d(a)/dt/(k*r^2 - 1) \n",
"Gam^t_th,th = r^2*a(t)*d(a)/dt \n",
"Gam^t_ph,ph = r^2*a(t)*sin(th)^2*d(a)/dt \n",
"Gam^r_t,r = d(a)/dt/a(t) \n",
"Gam^r_r,r = -k*r/(k*r^2 - 1) \n",
"Gam^r_th,th = k*r^3 - r \n",
"Gam^r_ph,ph = (k*r^3 - r)*sin(th)^2 \n",
"Gam^th_t,th = d(a)/dt/a(t) \n",
"Gam^th_r,th = 1/r \n",
"Gam^th_ph,ph = -cos(th)*sin(th) \n",
"Gam^ph_t,ph = d(a)/dt/a(t) \n",
"Gam^ph_r,ph = 1/r \n",
"Gam^ph_th,ph = cos(th)/sin(th) "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g.christoffel_symbols_display()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Tensor de Ricci"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mathrm{Ric}\\left(g\\right) = -\\frac{3 \\, \\frac{\\partial^2\\,a}{\\partial t ^ 2}}{a\\left(t\\right)} \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{2 \\, \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + 2 \\, k}{k r^{2} - 1} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( 2 \\, r^{2} \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + r^{2} a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + 2 \\, k r^{2} \\right) \\mathrm{d} {\\theta}\\otimes \\mathrm{d} {\\theta} + {\\left(2 \\, r^{2} \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + r^{2} a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + 2 \\, k r^{2}\\right)} \\sin\\left({\\theta}\\right)^{2} \\mathrm{d} {\\phi}\\otimes \\mathrm{d} {\\phi}\n",
"\\end{math}"
],
"text/plain": [
"Ric(g) = -3*d^2(a)/dt^2/a(t) dt*dt - (2*(d(a)/dt)^2 + a(t)*d^2(a)/dt^2 + 2*k)/(k*r^2 - 1) dr*dr + (2*r^2*(d(a)/dt)^2 + r^2*a(t)*d^2(a)/dt^2 + 2*k*r^2) dth*dth + (2*r^2*(d(a)/dt)^2 + r^2*a(t)*d^2(a)/dt^2 + 2*k*r^2)*sin(th)^2 dph*dph"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Ricci = nabla.ricci()\n",
"Ricci.display()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{lcl} \\mathrm{Ric}\\left(g\\right)_{ \\, t \\, t }^{ \\phantom{\\, t}\\phantom{\\, t} } & = & -\\frac{3 \\, \\frac{\\partial^2\\,a}{\\partial t ^ 2}}{a\\left(t\\right)} \\\\ \\mathrm{Ric}\\left(g\\right)_{ \\, r \\, r }^{ \\phantom{\\, r}\\phantom{\\, r} } & = & -\\frac{2 \\, \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + 2 \\, k}{k r^{2} - 1} \\\\ \\mathrm{Ric}\\left(g\\right)_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & 2 \\, r^{2} \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + r^{2} a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + 2 \\, k r^{2} \\\\ \\mathrm{Ric}\\left(g\\right)_{ \\, {\\phi} \\, {\\phi} }^{ \\phantom{\\, {\\phi}}\\phantom{\\, {\\phi}} } & = & {\\left(2 \\, r^{2} \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + r^{2} a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + 2 \\, k r^{2}\\right)} \\sin\\left({\\theta}\\right)^{2} \\end{array}\n",
"\\end{math}"
],
"text/plain": [
"Ric(g)_t,t = -3*d^2(a)/dt^2/a(t) \n",
"Ric(g)_r,r = -(2*(d(a)/dt)^2 + a(t)*d^2(a)/dt^2 + 2*k)/(k*r^2 - 1) \n",
"Ric(g)_th,th = 2*r^2*(d(a)/dt)^2 + r^2*a(t)*d^2(a)/dt^2 + 2*k*r^2 \n",
"Ric(g)_ph,ph = (2*r^2*(d(a)/dt)^2 + r^2*a(t)*d^2(a)/dt^2 + 2*k*r^2)*sin(th)^2 "
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Ricci.display_comp()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Escalar de Ricci"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} \\mathrm{r}\\left(g\\right):& FRW & \\longrightarrow & \\mathbb{R} \\\\ & \\left(t, r, {\\theta}, {\\phi}\\right) & \\longmapsto & \\frac{6 \\, {\\left(\\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + k\\right)}}{a\\left(t\\right)^{2}} \\end{array}\n",
"\\end{math}"
],
"text/plain": [
"r(g): FRW --> R\n",
" (t, r, th, ph) |--> 6*((d(a)/dt)^2 + a(t)*d^2(a)/dt^2 + k)/a(t)^2"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Ricci_scalar = g.ricci_scalar()\n",
"Ricci_scalar.display()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Tensor energia momento"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Introduziremos o tensor energia-momento de fluido perfeito. Para isso precisaremos de um campos escalar para a pressão $p(t)$, um campo escalar para a densidade de energia $\\rho(t)$ e um tensor covariante do tipo tempo (1-forma)."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"rho = frw.scalar_field(function('rho')(t), name='rho', latex_name=r'\\rho')\n",
"p = frw.scalar_field(function('p')(t), name='p')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\rho\n",
"\\end{math}"
],
"text/plain": [
"Scalar field rho on the 4-dimensional Lorentzian manifold FRW"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Scalar field rho on the 4-dimensional Lorentzian manifold FRW\n"
]
}
],
"source": [
"show(rho)\n",
"print(rho)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vetor"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Vector field u on the 4-dimensional Lorentzian manifold FRW\n"
]
},
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}u = \\frac{\\partial}{\\partial t }\n",
"\\end{math}"
],
"text/plain": [
"u = d/dt"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u = frw.vector_field('u')\n",
"u[0] = 1\n",
"print(u)\n",
"u.display()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}-1\n",
"\\end{math}"
],
"text/plain": [
"-1"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g(u,u).expr()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$g(u,u) \\Leftrightarrow g_{\\mu\\nu}u^\\mu u^\\nu$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`u.dot(u)` é equivalente a `g(u,u)`."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}-1\n",
"\\end{math}"
],
"text/plain": [
"-1"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u.dot(u).expr()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"u_form = u.down(g,0) #1-forma dual a u (baixar índice)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1-form on the 4-dimensional Lorentzian manifold FRW\n"
]
},
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}-\\mathrm{d} t\n",
"\\end{math}"
],
"text/plain": [
"-dt"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(u_form)\n",
"u_form.display()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Tensor energia momento\n",
"$$T_{\\mu\\nu} = (p+\\rho)u_\\mu u_\\nu+pg_{\\mu\\nu}$$\n",
"ou\n",
"$$T = (p+\\rho)u \\otimes u+pg$$"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"T = (rho+p)*(u_form*u_form) + p*g\n",
"T.set_name('T')"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Field of symmetric bilinear forms T on the 4-dimensional Lorentzian manifold FRW\n"
]
},
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}T = \\rho\\left(t\\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{a\\left(t\\right)^{2} p\\left(t\\right)}{k r^{2} - 1} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + r^{2} a\\left(t\\right)^{2} p\\left(t\\right) \\mathrm{d} {\\theta}\\otimes \\mathrm{d} {\\theta} + r^{2} a\\left(t\\right)^{2} p\\left(t\\right) \\sin\\left({\\theta}\\right)^{2} \\mathrm{d} {\\phi}\\otimes \\mathrm{d} {\\phi}\n",
"\\end{math}"
],
"text/plain": [
"T = rho(t) dt*dt - a(t)^2*p(t)/(k*r^2 - 1) dr*dr + r^2*a(t)^2*p(t) dth*dth + r^2*a(t)^2*p(t)*sin(th)^2 dph*dph"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(T)\n",
"T.display()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Equação de Einstein\n",
"$$R_{\\mu\\nu} - \\frac{1}{2}Rg_{\\mu\\nu} + \\Lambda g_{\\mu\\nu} = 8\\pi G T_{\\mu\\nu}$$\n",
"ou\n",
"$$\\text{Ric}(g) - \\frac{1}{2}\\text{r}(g)g+\\Lambda g = 8\\pi G T$$"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"Ein = Ricci - Ricci_scalar/2*g + Lambda*g - (8*pi*G)*T"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"Ein.set_name('Ein')"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{lcl} Ein_{ \\, t \\, t }^{ \\phantom{\\, t}\\phantom{\\, t} } & = & -\\frac{8 \\, \\pi G a\\left(t\\right)^{2} \\rho\\left(t\\right) + \\Lambda a\\left(t\\right)^{2} - 3 \\, \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} - 3 \\, k}{a\\left(t\\right)^{2}} \\\\ Ein_{ \\, r \\, r }^{ \\phantom{\\, r}\\phantom{\\, r} } & = & \\frac{8 \\, \\pi G a\\left(t\\right)^{2} p\\left(t\\right) - \\Lambda a\\left(t\\right)^{2} + \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + 2 \\, a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + k}{k r^{2} - 1} \\\\ Ein_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & -8 \\, \\pi G r^{2} a\\left(t\\right)^{2} p\\left(t\\right) + \\Lambda r^{2} a\\left(t\\right)^{2} - r^{2} \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} - 2 \\, r^{2} a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} - k r^{2} \\\\ Ein_{ \\, {\\phi} \\, {\\phi} }^{ \\phantom{\\, {\\phi}}\\phantom{\\, {\\phi}} } & = & -{\\left(8 \\, \\pi G r^{2} a\\left(t\\right)^{2} p\\left(t\\right) - \\Lambda r^{2} a\\left(t\\right)^{2} + r^{2} \\left(\\frac{\\partial\\,a}{\\partial t}\\right)^{2} + 2 \\, r^{2} a\\left(t\\right) \\frac{\\partial^2\\,a}{\\partial t ^ 2} + k r^{2}\\right)} \\sin\\left({\\theta}\\right)^{2} \\end{array}\n",
"\\end{math}"
],
"text/plain": [
"Ein_t,t = -(8*pi*G*a(t)^2*rho(t) + Lambda*a(t)^2 - 3*(d(a)/dt)^2 - 3*k)/a(t)^2 \n",
"Ein_r,r = (8*pi*G*a(t)^2*p(t) - Lambda*a(t)^2 + (d(a)/dt)^2 + 2*a(t)*d^2(a)/dt^2 + k)/(k*r^2 - 1) \n",
"Ein_th,th = -8*pi*G*r^2*a(t)^2*p(t) + Lambda*r^2*a(t)^2 - r^2*(d(a)/dt)^2 - 2*r^2*a(t)*d^2(a)/dt^2 - k*r^2 \n",
"Ein_ph,ph = -(8*pi*G*r^2*a(t)^2*p(t) - Lambda*r^2*a(t)^2 + r^2*(d(a)/dt)^2 + 2*r^2*a(t)*d^2(a)/dt^2 + k*r^2)*sin(th)^2 "
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Ein.display_comp()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Primeira equação de Friedman"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}-8 \\, \\pi G \\rho\\left(t\\right) - \\Lambda + \\frac{3 \\, \\frac{\\partial}{\\partial t}a\\left(t\\right)^{2}}{a\\left(t\\right)^{2}} + \\frac{3 \\, k}{a\\left(t\\right)^{2}} = 0\n",
"\\end{math}"
],
"text/plain": [
"-8*pi*G*rho(t) - Lambda + 3*diff(a(t), t)^2/a(t)^2 + 3*k/a(t)^2 == 0"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Ein[0,0].expr().expand()==0"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left[-8 \\, \\pi G \\rho\\left(t\\right) - \\Lambda + \\frac{3 \\, \\frac{\\partial}{\\partial t}a\\left(t\\right)^{2}}{a\\left(t\\right)^{2}} + \\frac{3 \\, k}{a\\left(t\\right)^{2}} = 0\\right]\n",
"\\end{math}"
],
"text/plain": [
"[-8*pi*G*rho(t) - Lambda + 3*diff(a(t), t)^2/a(t)^2 + 3*k/a(t)^2 == 0]"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eqs = [Ein[0,0].expr().expand()==0];eqs"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"eqs[0] += 8*pi*G*rho.expr()"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}-\\Lambda + \\frac{3 \\, \\frac{\\partial}{\\partial t}a\\left(t\\right)^{2}}{a\\left(t\\right)^{2}} + \\frac{3 \\, k}{a\\left(t\\right)^{2}} = 8 \\, \\pi G \\rho\\left(t\\right)\n",
"\\end{math}"
],
"text/plain": [
"-Lambda + 3*diff(a(t), t)^2/a(t)^2 + 3*k/a(t)^2 == 8*pi*G*rho(t)"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eqs[0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Segunda Forma da equação de Einstein\n",
"$$R_{\\mu\\nu} - \\Lambda g_{\\mu\\nu} = 8\\pi G \\left(T_{\\mu\\nu}-\\frac{1}{2}T g_{\\mu\\nu}\\right)$$\n",
"ou\n",
"$$\\text{Ric}(g) - \\Lambda g = 8\\pi G \\left(T-\\frac{1}{2}tr(T)g\\right)$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Taço de T"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\begin{array}{llcl} tr(T):& FRW & \\longrightarrow & \\mathbb{R} \\\\ & \\left(t, r, {\\theta}, {\\phi}\\right) & \\longmapsto & 3 \\, p\\left(t\\right) - \\rho\\left(t\\right) \\end{array}\n",
"\\end{math}"
],
"text/plain": [
"tr(T): FRW --> R\n",
" (t, r, th, ph) |--> 3*p(t) - rho(t)"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tr_T = T.up(g,0).trace()\n",
"tr_T.set_name('tr(T)')\n",
"tr_T.display()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"Ein2 = Ricci - Lambda*g - (8*pi*G)*(T - tr_T/2*g)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Segunda equação de Friedmann"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}-12 \\, \\pi G p\\left(t\\right) - 4 \\, \\pi G \\rho\\left(t\\right) + \\Lambda - \\frac{3 \\, \\frac{\\partial^{2}}{(\\partial t)^{2}}a\\left(t\\right)}{a\\left(t\\right)} = 0\n",
"\\end{math}"
],
"text/plain": [
"-12*pi*G*p(t) - 4*pi*G*rho(t) + Lambda - 3*diff(a(t), t, t)/a(t) == 0"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eq2 = Ein2[0,0].expr().expand() == 0; eq2"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\Lambda - \\frac{3 \\, \\frac{\\partial^{2}}{(\\partial t)^{2}}a\\left(t\\right)}{a\\left(t\\right)} = 12 \\, \\pi G p\\left(t\\right) + 4 \\, \\pi G \\rho\\left(t\\right)\n",
"\\end{math}"
],
"text/plain": [
"Lambda - 3*diff(a(t), t, t)/a(t) == 12*pi*G*p(t) + 4*pi*G*rho(t)"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eq2+(4*pi*G*(rho+3*p)).expr().expand()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"eqs.append(eq2+(4*pi*G*(rho+3*p)).expr().expand())"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}-\\Lambda + \\frac{3 \\, \\frac{\\partial}{\\partial t}a\\left(t\\right)^{2}}{a\\left(t\\right)^{2}} + \\frac{3 \\, k}{a\\left(t\\right)^{2}} = 8 \\, \\pi G \\rho\\left(t\\right)\n",
"\\end{math}"
],
"text/plain": [
"-Lambda + 3*diff(a(t), t)^2/a(t)^2 + 3*k/a(t)^2 == 8*pi*G*rho(t)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\Lambda - \\frac{3 \\, \\frac{\\partial^{2}}{(\\partial t)^{2}}a\\left(t\\right)}{a\\left(t\\right)} = 12 \\, \\pi G p\\left(t\\right) + 4 \\, \\pi G \\rho\\left(t\\right)\n",
"\\end{math}"
],
"text/plain": [
"Lambda - 3*diff(a(t), t, t)/a(t) == 12*pi*G*p(t) + 4*pi*G*rho(t)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for eq in eqs:\n",
" show(eq)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Conservação e equação de estado"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\nabla_{g} T\n",
"\\end{math}"
],
"text/plain": [
"Tensor field nabla_g(T) of type (0,3) on the 4-dimensional Lorentzian manifold FRW"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor field nabla_g(T) of type (0,3) on the 4-dimensional Lorentzian manifold FRW\n"
]
}
],
"source": [
"nt0 = nabla(T)\n",
"show(nt0)\n",
"print(nt0)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mbox{Tensor field of type (2,0) on the 4-dimensional Lorentzian manifold FRW}\n",
"\\end{math}"
],
"text/plain": [
"Tensor field of type (2,0) on the 4-dimensional Lorentzian manifold FRW"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"T.up(g)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor field of type (2,1) on the 4-dimensional Lorentzian manifold FRW\n"
]
},
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mbox{Tensor field of type (2,1) on the 4-dimensional Lorentzian manifold FRW}\n",
"\\end{math}"
],
"text/plain": [
"Tensor field of type (2,1) on the 4-dimensional Lorentzian manifold FRW"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nT = nabla(T.up(g))\n",
"print(nT)\n",
"nT"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\mbox{Vector field on the 4-dimensional Lorentzian manifold FRW}\n",
"\\end{math}"
],
"text/plain": [
"Vector field on the 4-dimensional Lorentzian manifold FRW"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cons_T0 = nT.trace(1,2)\n",
"show(cons_T0)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left( \\frac{3 \\, {\\left(p\\left(t\\right) + \\rho\\left(t\\right)\\right)} \\frac{\\partial\\,a}{\\partial t} + a\\left(t\\right) \\frac{\\partial\\,\\rho}{\\partial t}}{a\\left(t\\right)} \\right) \\frac{\\partial}{\\partial t }\n",
"\\end{math}"
],
"text/plain": [
"(3*(p(t) + rho(t))*d(a)/dt + a(t)*d(rho)/dt)/a(t) d/dt"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cons_T0.display()"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\frac{3 \\, {\\left(p\\left(t\\right) + \\rho\\left(t\\right)\\right)} \\frac{\\partial\\,a}{\\partial t} + a\\left(t\\right) \\frac{\\partial\\,\\rho}{\\partial t}}{a\\left(t\\right)}\n",
"\\end{math}"
],
"text/plain": [
"(3*(p(t) + rho(t))*d(a)/dt + a(t)*d(rho)/dt)/a(t)"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cons_T0[0]"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\frac{3 \\, {\\left(p\\left(t\\right) + \\rho\\left(t\\right)\\right)} \\frac{\\partial}{\\partial t}a\\left(t\\right) + a\\left(t\\right) \\frac{\\partial}{\\partial t}\\rho\\left(t\\right)}{a\\left(t\\right)} = 0\n",
"\\end{math}"
],
"text/plain": [
"(3*(p(t) + rho(t))*diff(a(t), t) + a(t)*diff(rho(t), t))/a(t) == 0"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"con_T = cons_T0[0].expr()==0;con_T"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}3 \\, {\\left(p\\left(t\\right) + \\rho\\left(t\\right)\\right)} \\frac{\\partial}{\\partial t}a\\left(t\\right) + a\\left(t\\right) \\frac{\\partial}{\\partial t}\\rho\\left(t\\right) = 0\n",
"\\end{math}"
],
"text/plain": [
"3*(p(t) + rho(t))*diff(a(t), t) + a(t)*diff(rho(t), t) == 0"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"con_T = con_T*a.expr();con_T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Equação de estado"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [],
"source": [
"om = var('omega')"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}p\\left(t\\right) = \\omega \\rho\\left(t\\right)\n",
"\\end{math}"
],
"text/plain": [
"p(t) == omega*rho(t)"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eq_est = p.expr() == om*rho.expr();eq_est"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}3 \\, {\\left(\\omega \\rho\\left(t\\right) + \\rho\\left(t\\right)\\right)} \\frac{\\partial}{\\partial t}a\\left(t\\right) + a\\left(t\\right) \\frac{\\partial}{\\partial t}\\rho\\left(t\\right) = 0\n",
"\\end{math}"
],
"text/plain": [
"3*(omega*rho(t) + rho(t))*diff(a(t), t) + a(t)*diff(rho(t), t) == 0"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dom_eq = con_T.subs(eq_est); dom_eq"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\frac{\\frac{\\partial}{\\partial t}\\rho\\left(t\\right)}{\\rho\\left(t\\right)} = -\\frac{3 \\, {\\left(\\omega + 1\\right)} \\frac{\\partial}{\\partial t}a\\left(t\\right)}{a\\left(t\\right)}\n",
"\\end{math}"
],
"text/plain": [
"diff(rho(t), t)/rho(t) == -3*(omega + 1)*diff(a(t), t)/a(t)"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dom_eq2 = solve(dom_eq,diff(rho.expr(),t))[0]/rho.expr();dom_eq2"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\log\\left(\\rho\\left(t\\right)\\right) = -3 \\, {\\left(\\omega + 1\\right)} \\log\\left(a\\left(t\\right)\\right) + c_{1}\n",
"\\end{math}"
],
"text/plain": [
"log(rho(t)) == -3*(omega + 1)*log(a(t)) + c1"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dom_eq3 = integral(dom_eq2,t);dom_eq3"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{math}\n",
"\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\rho\\left(t\\right) = a\\left(t\\right)^{-3 \\, \\omega - 3} e^{c_{1}}\n",
"\\end{math}"
],
"text/plain": [
"rho(t) == a(t)^(-3*omega - 3)*e^c1"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solve(dom_eq3,rho.expr())[0].canonicalize_radical()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Tipos de matéria e dinâmica do fator de escala..."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "SageMath 9.2",
"language": "sage",
"name": "sagemath"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}