{ "metadata": { "name": "", "signature": "sha256:aaf82d1baa1578970d017a1061446a7418c0aaffc9b5d5b265e5d48bdb0cbce6" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "El diagrama de Hubble y las supernovas" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Autor: [Eduardo Mart\u00edn Calleja](http://balbuceosastropy.blogspot.com.es/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El fen\u00f3meno de la expansi\u00f3n del universo, que separa unos de otros todos aquellos objetos c\u00f3smicos que no est\u00e1n unidos por la fuerza de la gravitaci\u00f3n, es un hecho conocido a partir de las observaciones de Hubble en 1929. El ritmo de esta expansi\u00f3n viene regido por la llamada ley de Hubble, que relaciona el valor de corrimiento al rojo observado en el espectro de las galaxias lejanas, con la distancia que nos separa de ellas.\n", "\n", "La ley de Hubble suele mostrarse mediante un diagrama que representa este corrimiento al rojo, en forma de magnitud con unidades de velocidad ($c \\, z$) en $Km \\, s^{-1}$ con respecto a las distancias medidas en Megaparsec. Claramente la mayor dificultad para elaborar un diagrama de este tipo es conocer las distancias que nos separan de objetos tan lejanos. En esta determinaci\u00f3n, los objetos conocidos como supernovas juegan, tal como veremos, un papel fundamental. Una vez construido este diagrama se aprecia una relaci\u00f3n aproximadamente lineal entre ambas magnitudes, siendo la constante de proporcionalidad $H_0$ la llamada constante de Hubble. El sufijo $ _0$ indica que nos referimos aqu\u00ed a su valor actual, ya que este puede variar con el tiempo en funci\u00f3n del modelo de evoluci\u00f3n del Universo que se adopte. El mejor valor actual de dicha constante es $H_0 = 67.8 \\; Km \\; s^{-1} \\; Mpc^{-1}$.\n", "\n", "Mi prop\u00f3sito en este art\u00edculo es construir un diagrama de Hubble y obtener un valor aproximado de la constante de Hubble. " ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Importaciones y referencias" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Los objetos con los que vamos a construir el diagrama de Hubble ser\u00e1n las supernovas de tipo Ia obtenidas en la **encuesta de supernovas del Sloan Digital Sky Survey (SDSS)**. Puede consultarse la [p\u00e1gina principal](http://www.sdss.org/supernova/aboutsupernova.html) de esta encuesta. Un resumen con enlaces a la documentaci\u00f3n m\u00e1s relevante para este ejercicio puede consultarse [aqu\u00ed](http://www.sdss3.org/dr10/data_access/supernovae.php)\n", "\n", "En particular, esta es la [tabla de supernovas encontradas por el SDSS](http://classic.sdss.org/supernova/snlist_confirmed.html) en esta encuesta.\n", "\n", "Un art\u00edculo en wikipedia sobre las supernovas y la utilidad de las supernovas de tipo Ia en el c\u00e1lculo de distancias c\u00f3smicas puede consultarse [aqu\u00ed](http://es.wikipedia.org/wiki/Supernova#Tipo_Ia).\n", "\n", "[Este](http://capstone2011.cuipblogs.net/files/2011/08/Dunbar-CAPSTONE2011-FinalPoster.pdf) es un poster (en ingl\u00e9s) a un nivel muy accesible conn un prop\u00f3sito similar al de este post, realizar un diagrama de Hubble con datos de la encuesta de supernovas del SDSS." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "\n", "from __future__ import division\n", "\n", "import re # Expresiones regulares\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import quantities as pq\n", "import scipy.stats as s\n", "\n", "# Generar un cuadro con versiones de las librer\u00edas utilizadas en este notebook\n", "#https://github.com/jrjohansson/version_information\n", "%load_ext version_information\n", "%version_information re, numpy, matplotlib, pandas, quantities, scipy" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
SoftwareVersion
Python2.7.9 64bit [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
IPython2.3.1
OSLinux 3.13.0 44 generic x86_64 with debian jessie sid
re2.2.1
numpy1.9.1
matplotlib1.4.2
pandas0.15.2
quantities0.10.1
scipy0.15.1
Sat Jan 24 17:14:54 2015 CET
" ], "json": [ "{\"Software versions\": [{\"version\": \"2.7.9 64bit [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]\", \"module\": \"Python\"}, {\"version\": \"2.3.1\", \"module\": \"IPython\"}, {\"version\": \"Linux 3.13.0 44 generic x86_64 with debian jessie sid\", \"module\": \"OS\"}, {\"version\": \"2.2.1\", \"module\": \"re\"}, {\"version\": \"1.9.1\", \"module\": \"numpy\"}, {\"version\": \"1.4.2\", \"module\": \"matplotlib\"}, {\"version\": \"0.15.2\", \"module\": \"pandas\"}, {\"version\": \"0.10.1\", \"module\": \"quantities\"}, {\"version\": \"0.15.1\", \"module\": \"scipy\"}]}" ], "latex": [ "\\begin{tabular}{|l|l|}\\hline\n", "{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\n", "Python & 2.7.9 64bit [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] \\\\ \\hline\n", "IPython & 2.3.1 \\\\ \\hline\n", "OS & Linux 3.13.0 44 generic x86\\_64 with debian jessie sid \\\\ \\hline\n", "re & 2.2.1 \\\\ \\hline\n", "numpy & 1.9.1 \\\\ \\hline\n", "matplotlib & 1.4.2 \\\\ \\hline\n", "pandas & 0.15.2 \\\\ \\hline\n", "quantities & 0.10.1 \\\\ \\hline\n", "scipy & 0.15.1 \\\\ \\hline\n", "\\hline \\multicolumn{2}{|l|}{Sat Jan 24 17:14:54 2015 CET} \\\\ \\hline\n", "\\end{tabular}\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "Software versions\n", "Python 2.7.9 64bit [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]\n", "IPython 2.3.1\n", "OS Linux 3.13.0 44 generic x86_64 with debian jessie sid\n", "re 2.2.1\n", "numpy 1.9.1\n", "matplotlib 1.4.2\n", "pandas 0.15.2\n", "quantities 0.10.1\n", "scipy 0.15.1\n", "Sat Jan 24 17:14:54 2015 CET" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# Definici\u00f3n de nuevas constantes:\n", "earth_radius = 6378160.0 * pq.m\n", "moon_radius = 1740000.0 * pq.m\n", "sun_radius = 695000000.0 *pq.m\n", "earth_mass = 5.97219e24 * pq.kg\n", "sun_mass = 332946 * earth_mass\n", "Hubble_constant = 67.80 * (pq.km/pq.s)/(1e6*pq.pc)\n", "\n", "# Definici\u00f3n de nuevas unidades\n", "Mly = pq.UnitQuantity('megalight_year', 1e6*pq.ly, symbol = 'Mly')\n", "Mpc = pq.UnitQuantity('megaparsec', 1e6*pq.pc, symbol = 'Mpc')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Un poco de teoria" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "La expansi\u00f3n homogenea e is\u00f3tropa del universo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una caracter\u00edstica de la expansi\u00f3n del universo es que es homogenea (igual en todos los puntos) e is\u00f3tropa (igual en todas las direcciones). Una expansi\u00f3n de estas caracter\u00edsticas conserva la forma de los objetos. Por ejemplo, un tri\u00e1ngulo se convertir\u00eda, pasado un cierto timpo, en un tri\u00e1ngulo mayor pero semejante al primero. La raz\u00f3n de semejanza, llamada **factor de escala** depender\u00e1 del instante $t$ considerado, y por ello se la designa por $a(t)$.\n", "\n", "Consideremos pues dos galaxias, y sea $\\vec r(t_0)$ el vector que los une en el instante $t_0$, que podemos suponer por ejemplo que es el momento actual. En otro instante $t$ el vector que une estos mismos dos objetos ser\u00e1:\n", "\n", "$$\\vec r(t) = a(t) \\, \\vec r(t_0)$$\n", "\n", "La velocidad de alejamiento de las dos galaxias ser\u00e1 pues (representando con un punto la derivada con respecto al tiempo):\n", "\n", "$$\\vec v_r(t) = \\dot a(t) \\, \\vec r(t_0) = \\dot a(t) \\frac{\\vec r(t)}{a(t)}$$\n", "\n", "Es decir:\n", "\n", "$$ \\vec v_r = \\frac{\\dot a}{a} \\vec r $$\n", "\n", "Y llamando $H(t) = \\dot a(t) / a(t)$:\n", "\n", "$$\\vec v_r = H \\vec r$$\n", "\n", "O bien, eliminando la notaci\u00f3n vectorial: $v = H \\, r$\n", "\n", "Es decir, la velocidad de alejamiento mutuo de las galaxias es proporcional a la distancia que las separa. El factor de proporcionalidad, $H$ puede variar con el tiempo, pero en cada instante es la mismo en todos los puntos del universo. $H = H(t)$ es conocido como **par\u00e1metro de Hubble** y como hemos mencionado no es constante puesto que puede cambiar con el tiempo. Pero lo m\u00e1s importante es tener en cuenta que esta relaci\u00f3n entre velocidades y distancias es una propiedad fundamental, exacta, consecuencia matem\u00e1tica de una expansi\u00f3n homogenea e is\u00f3tropa del universo, y no debe confundirse con la ley de Hubble que veremos a continuaci\u00f3n y que tiene un car\u00e1cter observacional.\n", "\n", "\n" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Corrimiento c\u00f3smico hacia el rojo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cuando observamos la luz emitida en cualquier longitud de onda por un objeto alejado, se constata una diferencia entre la longitud de onda medida por el observador y la de la luz emitida por el objeto. Esta discrepancia se conoce como **corrimiento al rojo** y se caracteriza por la cantidad sin unidades $z$ definida como:\n", "\n", "$$z = \\frac{\\lambda_{\\text{obs}}-\\lambda_{\\text{emit}}}{\\lambda_{\\text{emit}}} = \\frac{\\Delta \\lambda}{\\lambda_{emit}}$$\n", "\n", "Que tambi\u00e9n se expresa como:\n", "\n", "$$ z + 1 = \\frac{\\lambda_{obs}}{\\lambda_{emit}} $$\n", "\n", "Ahora solo voy a considerar el efecto de corrimiento al rojo que es consecuencia de la expansi\u00f3n del universo. Si imaginamos este como una cuadr\u00edcula en expansi\u00f3n, estar\u00edamos en el caso en que tanto la fuente emisora como el observador ocupan nodos de esta cuadr\u00edcula. Es decir, suponemos que no existen movimientos peculiares propios de cada objeto (en realidad siempre existir\u00e1n, pero dadas las grandes distancias que se consideran, su efecto ser\u00e1 despreciable).\n", "\n", "Pues bien, en este caso puede demostrarse que la longitud de onda instantanea $\\lambda(t)$ es proporcional al factor de escala, y se puede escribir:\n", "\n", "$$\\lambda = \\text{cte} \\cdot a \\Rightarrow \\lambda \\propto a$$\n", "\n", "Es decir, al expandirse el espacio, la longitud de onda se expande en la misma proporci\u00f3n, y midiendo la longitud de onda recibida y comparandola con la emitida, es posible saber cuanto se ha expandido el universo mientras que la luz ha estado viajando hasta llegar a nosotros. Es como si la expansi\u00f3n del universo \"estirara\" las ondas de luz que viajan a su trav\u00e9s.\n", "\n", "Por ejemplo, si en el instante $t_{emit}$ se emite un pulso luminoso y nosotros lo recibimos en el instante $t_{ahora}$, podremos escribir:\n", "\n", "$$1 + z = \\frac{\\lambda_{ahora}}{\\lambda_{emit}} = \\frac{a(t_{ahora})}{a(t_{emit})}$$\n", "\n", "A este corrimiento al rojo, que no es una manifestaci\u00f3n del efecto Doppler, sino que es consecuencia exclusivamente de la expansi\u00f3n del universo, y est\u00e1, como se ha visto, \u00edntimamente relacionado con el factor de escala de la expansi\u00f3n, se le llama **corrimiento al rojo cosmol\u00f3gico**, y es al que nos referiremos en lo sucesivo en este post." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Ley de Hubble" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como ya hemos comentado, en 1929 Hubble formul\u00f3 su famosa ley que afirma la proporcionalidad entre la cantidad de corrimiento al rojo medida en el espectro de la luz que observamos proveniente de las galaxias, y su distancia obtenida por diversos m\u00e9todos, aunque principalmente mediante la utilizaci\u00f3n del m\u00f3dulo de distancia resultante de la comparaci\u00f3n entre la magnitud absoluta y la magnitud aparente del objeto:\n", "\n", "$$ z = \\frac{H_0}{c}d $$\n", "\n", "En su momento, Hubble interpret\u00f3 el corrimiento al rojo de las galaxias como una manifestaci\u00f3n del efecto Doppler como consecuencia de su alejamiento de nosotros. Como por otro lado, para valores de z peque\u00f1os el efecto Doppler admite la aproximaci\u00f3n $v \\approx cz$, siendo $v$ la velocidad de alejamiento de la fuente, la ley de Hubble se escribe a menudo como $v = H_0 d$, si bien, para dejar claro el m\u00e9todo de obtenci\u00f3n de esta velocidad, es preferible escribir la ley de Hubble como:\n", "\n", "$$ c \\, z = H_0 \\, d $$\n", "\n", "Sobre esto cabe hacer una serie de precisiones:\n", "\n", "* A diferencia de la ley te\u00f3rica $v = H(t) \\, r$, la ley de Hubble $c \\, z = H_0 \\, d$ es puramente experimental, siendo el resultado de m\u00faltiples observaciones. De hecho, esta relaci\u00f3n lineal deja de cumplirse para altos valores de z\n", "\n", "* La distancia $r$ que aparece en la relaci\u00f3n te\u00f3rica entre velocidades de recesi\u00f3n y distancias, es la distancia propia, exacta, que nos separa del objeto, medida en un sistema de referencia inercial del observador. Es decir, ser\u00eda la distancia que mediriamos poniendo una a continuaci\u00f3n de otra reglas que no se expanden con el universo.\n", "\n", "* Por el contrario, $d$ (observese el cambio de notaci\u00f3n) es la distancia estimada por diferentes m\u00e9todos de observaci\u00f3n. Lo m\u00e1s frecuente es que d sea la \"distancia de luminosidad\" $d_L$ calculada mediante el m\u00f3dulo de distancia que por ejemplo se vio en este [post](http://balbuceosastropy.blogspot.com.es/2013/10/el-color-de-los-objetos-celestes.html). La distancia de luminosidad proporciona una buena aproximaci\u00f3n a la distancia propia $r$ para objetos \"pr\u00f3ximos\", pero se desvia de ella en el caso de los objetos m\u00e1s lejanos.\n", "\n", "* La ley $v = H(t) \\, r$ relaciona velocidades y distancias en el momento \"actual\", es decir, son velocidades y distancias ahora, en el momento de hacer la observaci\u00f3n, medidas en el tiempo propio del observador. En cambio, $z$ y $d$ est\u00e1n referidos al momento en que la luz fue emitida por el objeto observado.\n", "\n", "* Debido a la coincidencia de la velocidad $v$ con la magnitud $c \\, z$ para valores peque\u00f1os de $z$, podemos escribir: $H(t_{actual}) = H_0$. La constante de Hubble es el valor que toma, en el instante actual, el par\u00e1metro de Hubble.\n", "\n", "Una excelente explicaci\u00f3n de todas estas sutilezas en relaci\u00f3n con la ley de Hubble se puede encontrar en las notas del [curso de astronom\u00eda extragal\u00e1ctica](http://www.astro.virginia.edu/class/whittle/astr553/Topic16/Lecture_16.html) de Mark Whittle.\n", "\n", "Tras esta introducci\u00f3n te\u00f3rica paso a obtener el diagrama de Hubble correspondiente a las supernovas de tipo Ia de la encuesta de supernovas del SDSS." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "C\u00e1lculo de la distancia a una supernova" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tal como se ha comentado, centrar\u00e9 mi atenci\u00f3n en las supernovas de tipo Ia. Sus principales caracter\u00edsticas con vistas a su utilizaci\u00f3n en la elaboraci\u00f3n de un diagrama de Hubble son las siguientes:\n", "\n", "* Su magnitud absoluta m\u00e1xima en los filtros azul (B) y visual (V) en el sistema fotom\u00e9rico UBV de Johnson es:\n", "\n", " $$M_U \\approx M_V = -19.3 \\pm 0.3$$\n", "\n", "* La magnitud aparente $m$ se determina examinando **su curva de luz** que es una curva que representa la evoluci\u00f3n de su magnitud $m$ en funci\u00f3n del tiempo.\n", "\n", "* Al ser (aproximadamente) fija su magnitud absoluta $M$, se dice que las supernovas de tipo Ia son \"candelas est\u00e1ndar\".\n", "\n", "* Una vez disponemos del dato de magnitud relativa $m$, podemos calcular la distancia utilizando el **m\u00f3dulo de distancia**, que expresando la distancia $d_{Mpc}$ en Megaparsec se formula como:\n", "\n", " $$\\mu = m - M = 5 \\, \\log_{10}d_{Mpc} + 25$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Ejemplo: supongamos que en la curva de luz de la supernova Ia\n", "# medimos una magnitud aparente con el filtro V de 19.5\n", "m = 19.5\n", "M = -19.3\n", "k = (m-M)/5 - 5\n", "d = 10**k\n", "print \"La distancia de luminosidad es de %d Mpc\" %d" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "La distancia de luminosidad es de 575 Mpc\n" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para calcular la magnitud m\u00e1xima pueden aplicarse correcciones adicionales, siendo probablemente la m\u00e1s importante la [Phillips relationship](http://en.wikipedia.org/wiki/Phillips_relationship), que no vamos a utilizar en este post." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Lectura de las curvas de luz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para progresar en nuestro estudio necesitaremos las curvas de luz de las supernovas de tipo Ia identificadas por la encuesta del SDSS. Estas han sido publicadas en el siguiente art\u00edculo: [\"The Sloan Digital Sky Survey-II: Photometry and Supernova Ia Light Curves from the 2005 data\"](http://arxiv.org/abs/0908.4277) de Holtzman et al 2008, AJ, 136, 2306.\n", "\n", "Realmente lo que nos van a interesar m\u00e1s son las propias curvas de luz en formato electr\u00f3nico, las cuales pueden descargarse de la propia p\u00e1gina del [SDSS Supernova Survey](http://classic.sdss.org/supernova/lightcurves.html)\n", "\n", "As\u00ed pues, lo primero que debemos hacer es descargar todos estos ficheros en un subdirectorio de nuestro directorio de trabajo. En mi caso este subdirectorio va a llamarse \"SDSS_light_curves\". Lo que sigue a continuaci\u00f3n asume que ya se han descargado las curvas de luz en dicho directorio." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Lista con nombres de todos los ficheros en el subdirectorio\n", "lc_files = !ls ../SDSS_light_curves\n", "lc_files = list(lc_files.n.split('\\n'))\n", "lc_files = lc_files[1:] # Eliminamos de la lista el fichero ReadMe" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "#Una muestra de los nombres\n", "print lc_files[0:3]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['SN10028.snphot-5.04.sum', 'SN10096.snphot-5.04.sum', 'SN10106.snphot-5.04.sum']\n" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Abriendo uno cualquiera de estos ficheros con un editor de texto se observa que las 18 primeras filas contienen una descripci\u00f3n de los diferentes campos de los datos. La l\u00ednea 19 es una l\u00ednea de cabecera con los nombres de las columnas de datos, y luego hay una serie de l\u00edneas con datos separados por espacios en blanco. Se va a leer a continuaci\u00f3n el primero de los ficheros creando un dataframe de Pandas con los campos que nos interesan. Una vez creado el dataframe con los datos del primer fichero, recorrer\u00e9 todos los ficheros en el subdirectorio agregando a nuestro dataframe los datos de la \"light curve\" de cada supernova." ] }, { "cell_type": "code", "collapsed": false, "input": [ "filename = lc_files[0]\n", "df = pd.read_table('../SDSS_light_curves/'+filename, \n", " skiprows=18, sep=r'\\s+') #Separaci\u00f3n por espacios\n", "df.columns" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "Index([u'#FLAG', u'MJD', u'FILT', u'MAG', u'MERR', u'MSKYERR', u'MGALERR', u'FLUX', u'FLUXERR', u'SKYERR', u'GALERR', u'NPRE', u'TELE', u'RUN', u'STRIP'], dtype='object')" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "# Utilizar\u00e9 solamente las cuatro primeras columnas\n", "df = df.ix[:,0:4]\n", "\n", "# Cambiando el nombre de la primera columna\n", "df = df.rename(columns={'#FLAG':'FLAG'})\n", "df.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FLAGMJDFILTMAG
0 0 53616.363706 1 25.659
1 32 53616.360389 2 22.739
2 0 53616.361218 3 27.020
3 32 53616.362877 4 21.498
4 4 53616.362048 0 25.049
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ " FLAG MJD FILT MAG\n", "0 0 53616.363706 1 25.659\n", "1 32 53616.360389 2 22.739\n", "2 0 53616.361218 3 27.020\n", "3 32 53616.362877 4 21.498\n", "4 4 53616.362048 0 25.049" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "A continuaci\u00f3n se extraer\u00e1 el valor del redshift \"Z\" que se encuentra en la segunda l\u00ednea del fichero:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "with open('../SDSS_light_curves/'+filename) as f:\n", " f.readline()\n", " scndline = f.readline()\n", "resp = re.search(r'[\\d.]+', scndline) # Usamos una expresi\u00f3n regular\n", "Z = resp.group()\n", "print scndline\n", "print type(Z), Z" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "# Z: 0.06533 ZERR: 0.00016 SDSS TYPE: 120\n", "\n", " 0.06533\n" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Y a\u00f1adimos a nuestro dataframe una columna con el valor de Z, convirtiendolo a n\u00famero flotante" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df['Z'] = float(Z)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tambi\u00e9n tendremos que incluir en el dataframe el id de la supernova, el cual puede extraerse del nombre del fichero:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print filename" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "SN10028.snphot-5.04.sum\n" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "# El id de la supernova lo vamos a obtener del nombre del fichero\n", "# mediante una expresi\u00f3n regular\n", "resp = re.search(r'\\w+', filename)\n", "SN = resp.group()\n", "print SN" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "SN10028\n" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "A continuaci\u00f3n, se va a a\u00f1adir una columna al dataframe con el id de la supernova" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df['SN'] = SN" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "df.head() # Una muestra de los datos" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FLAGMJDFILTMAGZSN
0 0 53616.363706 1 25.659 0.06533 SN10028
1 32 53616.360389 2 22.739 0.06533 SN10028
2 0 53616.361218 3 27.020 0.06533 SN10028
3 32 53616.362877 4 21.498 0.06533 SN10028
4 4 53616.362048 0 25.049 0.06533 SN10028
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ " FLAG MJD FILT MAG Z SN\n", "0 0 53616.363706 1 25.659 0.06533 SN10028\n", "1 32 53616.360389 2 22.739 0.06533 SN10028\n", "2 0 53616.361218 3 27.020 0.06533 SN10028\n", "3 32 53616.362877 4 21.498 0.06533 SN10028\n", "4 4 53616.362048 0 25.049 0.06533 SN10028" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Este es el modelo de dataframe que queremos. Ahora vamos a recorrer los nombres de ficheros restantes agregando filas. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "for filename in lc_files[1:]:\n", " dftemp = pd.read_table('../SDSS_light_curves/'+filename, \n", " skiprows=18, sep=r'\\s+')\n", " dftemp = dftemp.ix[:,0:4]\n", " dftemp = dftemp.rename(columns={'#FLAG':'FLAG'})\n", " with open('../SDSS_light_curves/'+filename) as f:\n", " f.readline()\n", " scndline = f.readline()\n", " resp = re.search(r'[\\d.]+', scndline)\n", " Z = resp.group()\n", " dftemp['Z'] = float(Z)\n", " resp = re.search(r'\\w+', filename)\n", " SN = resp.group()\n", " dftemp['SN'] = SN\n", " df = pd.concat([df, dftemp], ignore_index=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "df.info()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Int64Index: 16708 entries, 0 to 16707\n", "Data columns (total 6 columns):\n", "FLAG 16708 non-null int64\n", "MJD 16708 non-null float64\n", "FILT 16708 non-null int64\n", "MAG 16708 non-null float64\n", "Z 16708 non-null float64\n", "SN 16708 non-null object\n", "dtypes: float64(3), int64(2), object(1)\n", "memory usage: 913.7+ KB\n" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "df[100:110] # Muestra de los datos" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FLAGMJDFILTMAGZSN
100 32 53704.265479 1 18.955 0.06533 SN10028
101 1184 53704.262162 2 18.825 0.06533 SN10028
102 32 53704.262991 3 19.032 0.06533 SN10028
103 160 53704.264650 4 19.148 0.06533 SN10028
104 32 53704.263820 0 20.735 0.06533 SN10028
105 8 53616.395290 1 25.260 0.07775 SN10096
106 0 53616.391972 2 26.469 0.07775 SN10096
107 32 53616.392802 3 23.493 0.07775 SN10096
108 32 53616.394460 4 21.202 0.07775 SN10096
109 128 53616.393631 0 26.155 0.07775 SN10096
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ " FLAG MJD FILT MAG Z SN\n", "100 32 53704.265479 1 18.955 0.06533 SN10028\n", "101 1184 53704.262162 2 18.825 0.06533 SN10028\n", "102 32 53704.262991 3 19.032 0.06533 SN10028\n", "103 160 53704.264650 4 19.148 0.06533 SN10028\n", "104 32 53704.263820 0 20.735 0.06533 SN10028\n", "105 8 53616.395290 1 25.260 0.07775 SN10096\n", "106 0 53616.391972 2 26.469 0.07775 SN10096\n", "107 32 53616.392802 3 23.493 0.07775 SN10096\n", "108 32 53616.394460 4 21.202 0.07775 SN10096\n", "109 128 53616.393631 0 26.155 0.07775 SN10096" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tal como se indica en la cabecera de los ficheros de datos de curvas de luz, las medidas con un flag > 1024 no son fiables. Vamos a limpiar nuestro dataframe quitando los valores con un flag $\\geq$ 1024" ] }, { "cell_type": "code", "collapsed": false, "input": [ "b = df['FLAG'] < 1024\n", "df = df[b]\n", "df.info()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Int64Index: 15838 entries, 0 to 16707\n", "Data columns (total 6 columns):\n", "FLAG 15838 non-null int64\n", "MJD 15838 non-null float64\n", "FILT 15838 non-null int64\n", "MAG 15838 non-null float64\n", "Z 15838 non-null float64\n", "SN 15838 non-null object\n", "dtypes: float64(3), int64(2), object(1)\n", "memory usage: 866.1+ KB\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Representaci\u00f3n de la curva de luz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aunque no es esencial para el prop\u00f3sito de representar un diagrama de Hubble, voy generar una representaci\u00f3n gr\u00e1fica de la curva de luz de una de las supernovas cuyos datos se han leido, lo que ayudar\u00e1 a comprender mejor todo el proceso." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Creaci\u00f3n de una lista con todos los identificativos de Supernovas\n", "list_SN = list(df['SN'].unique())\n", "\n", "# Se elige uno de ellos\n", "SNid = list_SN[30]\n", "\n", "# Seleccionar solo valores del filtro 1 = 'g'\n", "b = (df['SN'] == SNid) & (df['FILT']==1)\n", "df_g = df[b].sort(columns = 'MJD')\n", "# Y a continuaci\u00f3n solo valores del filtro 2 = 'r'\n", "b = (df['SN'] == SNid) & (df['FILT']==2)\n", "df_r = df[b].sort(columns = 'MJD')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora se va a representar gr\u00e1ficamente la curva de luz correspondiente a los filtros \"g\" y \"r\"" ] }, { "cell_type": "code", "collapsed": false, "input": [ "f, (ax1, ax2) = plt.subplots(1,2, sharex=True)\n", "f.set_size_inches(12, 5)\n", "f.suptitle(SNid, fontsize=20)\n", "f.subplots_adjust(hspace=0)\n", "ax1.plot(df_g['MJD'], df_g['MAG'],'o-g')\n", "ax1.invert_yaxis()\n", "ax1.set_title('Filtro g', fontsize=15)\n", "ax1.set_xlabel('MJD')\n", "ax1.set_ylabel('MAG')\n", "ax2.plot(df_r['MJD'], df_r['MAG'],'o-r')\n", "ax2.invert_yaxis()\n", "ax2.set_title('Filtro r', fontsize=15)\n", "ax2.set_xlabel('MJD')\n", "ax2.set_ylabel('MAG');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n+7JmAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "En esta gr\u00e1fica se aprecia muy bien el aumento de brillo aparente de la supernova hasta alcanzar un m\u00e1ximo a partir del cual decrece m\u00e1s lentamente. Es en este m\u00e1ximo cuando su magnitud absoluta alcanza un valor conocido que es el que nos permitir\u00e1 estimar la distancia a que se encuentra de nosotros.\n", "\n", "Las fechas est\u00e1n en forma MJD (Modified Julian Date). Las unidades son d\u00edas, por lo que podemos tambi\u00e9n hacernos idea de la duraci\u00f3n del estallido de una supernova. El aumento brusco del brillo aparente seguido de su caida menos abrupta es claramente apreciable en un periodo de solo un mes. El periodo de tiempo total registrado es de 90 d\u00edas." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Obtenci\u00f3n de las magnitudes aparentes m\u00ednimas" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una vez en posesi\u00f3n del dataframe con los datos de todas las curvas de luz, vamos a construir el diagrama de Hubble para estas supernovas. Una determinaci\u00f3n rigurosa de las distancias requerir\u00eda comparar las curvas de luz disponibles con un conjunto de curvas \"patr\u00f3n\" y aplicar correcciones para determinar la magnitud absoluta m\u00e1xima. Me limitar\u00e9 a crear un dataframe seleccionando la observaci\u00f3n del mayor brillo aparente (es decir, valor m\u00ednimo de la magnitud aparente correspondiente) en los filtros \"g\" y \"r\", el valor de Z y el identificativo de la supernova." ] }, { "cell_type": "code", "collapsed": false, "input": [ "b = df['FILT'] == 1 # Seleccionar el filtro g\n", "dftemp1 = df.ix[b,['MAG', 'Z', 'SN']]\n", "dftemp1.columns = ['g', 'Z', 'SN']\n", "grouped = dftemp1.groupby('SN') # Agrupar por id de supernova\n", "df_g = grouped.min() #Seleccionar valores m\u00ednimos\n", "\n", "b = df['FILT'] == 2 # Seleccionar filtro r\n", "dftemp2 = df.ix[b,['MAG', 'SN']]\n", "dftemp2.columns = ['r', 'SN']\n", "grouped = dftemp2.groupby('SN') # Agrupar por id de supernova\n", "df_r = grouped.min() #Seleccionar valores m\u00ednimos de la magnitud\n", "\n", "# Finalmente se concatenan las columnas\n", "# de los dos dataframes anteriores\n", "# Pandas se encargar\u00e1 de alinear los valores\n", "# correspondientes a una misma supernova\n", "df_gr = pd.concat([df_g, df_r], axis=1)\n", "df_gr['g'] = df_gr['g'].astype(np.float)\n", "df_gr['r'] = df_gr['r'].astype(np.float)\n", "df_gr = df_gr[['Z', 'g', 'r']] #Reordenar las columnas\n", "df_gr.head() # ver una muestra" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Zgr
SN
SN10028 0.06533 18.292 18.354
SN10096 0.07775 20.323 19.904
SN10106 0.14720 20.844 20.665
SN1032 0.12975 20.410 20.205
SN10434 0.10430 19.432 19.369
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ " Z g r\n", "SN \n", "SN10028 0.06533 18.292 18.354\n", "SN10096 0.07775 20.323 19.904\n", "SN10106 0.14720 20.844 20.665\n", "SN1032 0.12975 20.410 20.205\n", "SN10434 0.10430 19.432 19.369" ] } ], "prompt_number": 20 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Correcci\u00f3n de la extinci\u00f3n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El fen\u00f3meno de la **extinci\u00f3n interestelar** es el obscurecimiento de la luz que nos llega proveniente de los objetos celestes, debido a su absorci\u00f3n y dispersi\u00f3n m\u00e1s o menos intensa por las nubes de polvo c\u00f3smico existentes en el medio interestelar. En consecuencia los objetos celestes nos parecen menos brillantes, y por lo tanto m\u00e1s lejanos, de lo que corresponder\u00eda a la distancia en que est\u00e1n situados realmente.\n", "\n", "Por lo tanto, debemos aplicar una correcci\u00f3n a los valores de las magnitudes aparentes en cada uno de los filtros, restando en cada caso una constante $A_{\\lambda} > 0$ cuyo efecto ser\u00e1 obtener una magnitud menor, es decir, correspondiente a un objeto m\u00e1s brillante, que ser\u00eda la magnitud aparente que observar\u00edamos si no existiera la extinci\u00f3n. A esta nueva magnitud le podremos aplicar la f\u00f3rmula del m\u00f3dulo de distancia para obtener una mejor aproximaci\u00f3n de la distancia que lo separa de nosotros.\n", "\n", "Veamos un ejemplo: la supernova SN722 presenta su menor magnitud aparente en la banda del filtro $g$ con un valor de g = 19.394. La correcci\u00f3n de extinci\u00f3n para su galaxia anfitriona en las longitudes de onda de este filtro es $A_g$ = 0.10. Estimar su distancia, sin y con la aplicaci\u00f3n de la correcci\u00f3n. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "df_gr.ix['SN722',:]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 21, "text": [ "Z 0.08658\n", "g 19.39400\n", "r 19.19400\n", "Name: SN722, dtype: float64" ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "M = -19.3\n", "m = 19.394\n", "k = (m-M)/5 - 5\n", "d = 10**k # esta ser\u00e1 la distancia en Mpc\n", "print \"distancia sin correcci\u00f3n: %.2f Mpc\" %d\n", "A = 0.10\n", "m -= A\n", "k = (m-M)/5 - 5\n", "d = 10**k\n", "print \"distancia con correcci\u00f3n: %.2f Mpc\" %d" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "distancia sin correcci\u00f3n: 548.02 Mpc\n", "distancia con correcci\u00f3n: 523.36 Mpc\n" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Podemos estar seguros de que estas correcciones no han sido ya aplicadas, porque en la cabecera de cada fichero de curvas de luz figura el comentario *\"NO extinction correction applied to mags or fluxes\"*\n", "\n", "El problema que tenemos que resolver ahora es obtener las correcciones de extinci\u00f3n para cada supernova y banda. Estos datos figuran en la cabecera de cada fichero, en la l\u00ednea 11 (contando desde 1) hay una l\u00ednea del tipo:" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "# SFD extinctions [ugriz] = [ 0.13 0.10 0.07 0.05 0.04 ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "De modo que vamos a leer cada fichero y obtendremos los valores de la correcci\u00f3n para cada supernova" ] }, { "cell_type": "code", "collapsed": false, "input": [ "lc_files = !ls ../SDSS_light_curves\n", "lc_files = list(lc_files.n.split('\\n')) # Crear lista con nombres de ficheros\n", "lc_files = lc_files[1:] # Eliminar de la lista el fichero ReadMe" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "#Crear lista con los nombres de las supernovas\n", "# Obtenidos de la lista de nombres de los ficheros\n", "SN = lambda filename: re.search(r'\\w+', filename).group()\n", "\n", "#Crear sendas listas con los valores del index y las columnas\n", "# del dataframe a crear con las extinciones \n", "# para cada SN y cada filtro\n", "index = [SN(filename) for filename in lc_files]\n", "columns = ['Au', 'Ag', 'Ar', 'Ai', 'Az']\n", "\n", "#Crear un dataframe vacio pero con la estructura que necesitamos\n", "df_ext = pd.DataFrame(index=index, columns=columns)\n", "df_ext.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AuAgArAiAz
SN10028 NaN NaN NaN NaN NaN
SN10096 NaN NaN NaN NaN NaN
SN10106 NaN NaN NaN NaN NaN
SN1032 NaN NaN NaN NaN NaN
SN10434 NaN NaN NaN NaN NaN
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 24, "text": [ " Au Ag Ar Ai Az\n", "SN10028 NaN NaN NaN NaN NaN\n", "SN10096 NaN NaN NaN NaN NaN\n", "SN10106 NaN NaN NaN NaN NaN\n", "SN1032 NaN NaN NaN NaN NaN\n", "SN10434 NaN NaN NaN NaN NaN" ] } ], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "# Finalmente se recorren todos los ficheros\n", "# Extrayendo los valores de las extinciones\n", "# y poblando el dataframe df_ext\n", "\n", "for filename in lc_files:\n", " id = SN(filename) # Extraer id de la supernova\n", " with open('../SDSS_light_curves/'+filename) as f:\n", " for linea in f:\n", " if 'extinctions' in linea: # Esta es la linea con las extinciones\n", " l_campos = linea.split()\n", " \n", " # Escribir extinciones en el dataframe\n", " df_ext.ix[id] = [float(a) for a in l_campos[6:11]]\n", " break" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "# Comprobamos que todo parece correcto\n", "df_ext.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AuAgArAiAz
SN10028 0.13 0.1 0.07 0.05 0.04
SN10096 0.14 0.1 0.07 0.06 0.04
SN10106 0.38 0.28 0.2 0.15 0.11
SN1032 0.38 0.28 0.2 0.15 0.11
SN10434 0.48 0.36 0.26 0.2 0.14
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 26, "text": [ " Au Ag Ar Ai Az\n", "SN10028 0.13 0.1 0.07 0.05 0.04\n", "SN10096 0.14 0.1 0.07 0.06 0.04\n", "SN10106 0.38 0.28 0.2 0.15 0.11\n", "SN1032 0.38 0.28 0.2 0.15 0.11\n", "SN10434 0.48 0.36 0.26 0.2 0.14" ] } ], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una vez se dispone de todas las correcciones de extinci\u00f3n, se van a corregir las magnitudes aparentes de los filtros $g$ y $r$ en el dataframe \"df_gr\" que era el que conten\u00eda los valores m\u00ednimos de la magnitud aparente en cada uno de estos dos filtros para cada supernova. La correcci\u00f3n consistir\u00e1 simplemente en restar de cada magnitud aparente el valor de la correcci\u00f3n para ese filtro y supernova." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Hacer una copia \"profunda\" del dataframe original\n", "# Es decir, con copia de los datos\n", "df_gr_ext = df_gr.copy()\n", "\n", "# Aplicar las correcciones de extinci\u00f3n\n", "df_gr_ext['g'] = df_gr['g'] - df_ext['Ag']\n", "df_gr_ext['r'] = df_gr['r'] - df_ext['Ar']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "# Se puede comprobar en una muestra\n", "# que los valores obtenidos son los correctos\n", "df_gr_ext.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Zgr
SN
SN10028 0.06533 18.192 18.284
SN10096 0.07775 20.223 19.834
SN10106 0.14720 20.564 20.465
SN1032 0.12975 20.13 20.005
SN10434 0.10430 19.072 19.109
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 28, "text": [ " Z g r\n", "SN \n", "SN10028 0.06533 18.192 18.284\n", "SN10096 0.07775 20.223 19.834\n", "SN10106 0.14720 20.564 20.465\n", "SN1032 0.12975 20.13 20.005\n", "SN10434 0.10430 19.072 19.109" ] } ], "prompt_number": 28 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Correcci\u00f3n debida al sistema fotom\u00e9trico utilizado" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hay a\u00fan otra correcci\u00f3n que voy a llevar a cabo. Es debida a que se van a utilizar los valores de magnitud absoluta m\u00e1xima M = -19.3 que es un valor v\u00e1lido para los filtros B o V del sistema fotom\u00e9trico UBV, pero aqu\u00ed estamos utilizando el sistema de filtros del SDSS que es diferente.\n", "\n", "Una manera de tener en cuenta este hecho es hacer una conversi\u00f3n entre las magnitudes del sistema \"ugriz\" del SDSS y las magnitudes en el sistema UBV. Existen diversos algoritmos, que pueden consultarse en [esta p\u00e1gina](http://classic.sdss.org/dr7/algorithms/sdssUBVRITransform.html). Voy a utilizar por ejemplo la transformaci\u00f3n Lupton (2005), aunque no tengo claro si esta es la transformaci\u00f3n m\u00e1s adecuada en este caso. Por otro lado, llevar a cabo esta conversi\u00f3n presenta la ventaja adicional de que en el c\u00e1lculo de por ejemplo la magnitud aparente en el filtro \"V\" intervienen las magnitudes aparentes de los filtros \"g\" y \"r\" del SDSS, con lo cual estaremos tomando una especie de \"promedio\" entre ambos filtros.\n", "\n", "He aqu\u00ed la f\u00f3rmula que se va a utilizar:\n", "\n", "$$V = g - 0.5784 (g - r) - 0.0038$$\n", "\n", "Ahora ampliar\u00e9 el dataframe df_gr_ext anterior, que ya llevaba las correcciones de extinci\u00f3n incorporadas, creando una nueva columna calculada con la f\u00f3rmula anterior:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df_gr_ext['V'] = df_gr_ext['g'] - 0.5784 * (df_gr_ext['g']-df_gr_ext['r']) - 0.0038\n", "df_gr_ext.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ZgrV
SN
SN10028 0.06533 18.192 18.284 18.24141
SN10096 0.07775 20.223 19.834 19.9942
SN10106 0.14720 20.564 20.465 20.50294
SN1032 0.12975 20.13 20.005 20.0539
SN10434 0.10430 19.072 19.109 19.0896
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 29, "text": [ " Z g r V\n", "SN \n", "SN10028 0.06533 18.192 18.284 18.24141\n", "SN10096 0.07775 20.223 19.834 19.9942\n", "SN10106 0.14720 20.564 20.465 20.50294\n", "SN1032 0.12975 20.13 20.005 20.0539\n", "SN10434 0.10430 19.072 19.109 19.0896" ] } ], "prompt_number": 29 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Obtenci\u00f3n del diagrama de Hubble" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Determinaci\u00f3n de las velocidades de recesi\u00f3n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Examinemos en primer lugar el rango de valores de $z$ de las supernovas en la encuesta del SDSS" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df_gr_ext['Z'].min(), df_gr_ext['Z'].max()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 30, "text": [ "(0.01306, 0.42199999999999999)" ] } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esto nos dice que existe al menos una observaci\u00f3n con un valor de z = 0.42, es decir, si utilizamos en este caso la aproximaci\u00f3n $v = z \\, c$ tendr\u00edamos un objeto que se desplazar\u00eda a un 42% de la velocidad de la luz, lo cual constituye ya una velocidad relativista. Esto significa que el uso de esta aproximaci\u00f3n no es v\u00e1lido en casos como este si el resultado lo interpretamos como la velocidad real de recesi\u00f3n de la supernova con respecto de nosotros.\n", "\n", "No obstante, tal como hemos visto, la constante de Hubble, para valores elevados del par\u00e1metro z se sigue definiendo como:\n", "\n", "$$H_0 = \\frac{c \\, z}{d} $$\n", "\n", "Utilizar\u00e9 por tanto, como es habitual, $c \\, z$ en la realizaci\u00f3n del diagrama de Hubble, si bien esta magnitud no debe interpretarse en general como la velocidad real de recesi\u00f3n de la supernova, sino tan solo como una aproximaci\u00f3n a esta velocidad para $z$ peque\u00f1o. La relaci\u00f3n exacta entre la velocidad de recesi\u00f3n debida a la expansi\u00f3n del universo, y la cantidad $z$ de corrimiento al rojo, depende del modelo de universo que se considere, y requiere el uso de la Relatividad General. Al respecto puede consultarse el articulo [Expanding Confusion: common misconceptions of cosmological horizons and the superluminal expansion of the Universe](http://arxiv.org/abs/astro-ph/0310808)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "z = df_gr_ext['Z']\n", "\n", "#Series de Pandas sin unidades, con velocidades en Km/s\n", "v = z * pq.c.rescale(pq.km/pq.s).magnitude" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 31 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "C\u00e1lculo de las distancias" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para las distancias vamos a utilizar la expresi\u00f3n del m\u00f3dulo de distancia cuando las distancias $d$ se miden en Mpc:\n", "\n", "$$\\mu = m - M = 5 \\, \\log_{10}d + 25$$\n", "\n", "Tomando como magnitud absoluta de cualquier supernova de tipo Ia: $M = -19.3$ y siendo $m$ el valor de la magnitud aparente m\u00e1xima (el menor valor) tomado del dataframe:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "M = -19.3\n", "#m = df_gr_ext['V']\n", "m = df_gr_ext['V'].astype(np.float)\n", "k = (m-M)/5 - 5\n", "\n", "# d es una Series de Pandas con la distancia en Mpc\n", "d = 10**k" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 32 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Obtenci\u00f3n de $H_0$ y el diagrama de Hubble" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora ajustar\u00e9 por m\u00ednimos cuadrados una recta a los valores de distancias y velocidades" ] }, { "cell_type": "code", "collapsed": false, "input": [ "slope, intercept, r_value, p_value, std_err = s.linregress(d,v)\n", "print 'El coeficiente de determinaci\u00f3n es r^2 = %.2f' %r_value**2\n", "print 'H0 = %.2f' %slope" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "El coeficiente de determinaci\u00f3n es r^2 = 0.86\n", "H0 = 60.71\n" ] } ], "prompt_number": 33 }, { "cell_type": "code", "collapsed": false, "input": [ "f, ax = plt.subplots(figsize=(12,8))\n", "\n", "ax.scatter(d, v, edgecolors='none')\n", "ax.set_xlim(0, 2500)\n", "ax.set_ylim(0,140000)\n", "\n", "\n", "ax.set_title('Diagrama de Hubble encuesta supernovas tipo Ia SDSS-II',\n", " fontsize=20)\n", "ax.set_xlabel('Distancias en Mpc')\n", "ax.set_ylabel('$c \\, z \\; Km \\, s^{-1}$')\n", "ax.xaxis.label.set_fontsize(15)\n", "ax.yaxis.label.set_fontsize(20)\n", "\n", "ax.plot([0, 3000], [intercept, slope * 3000 + intercept], '-k', lw=2)\n", "ax.text(1000, 80000,'Valor obtenido $H0 = %.2f \\; Km \\; s^{-1} \\; Mpc^{-1}$'\n", " %slope, fontsize=15, rotation = 39)\n", "ax.plot([0, 3000], [intercept, 67.80 * 3000 + intercept], ':r', lw=2)\n", "ax.text(500, 130000,'Mejor valor actual $H0 = 67.80 \\; Km \\; s^{-1} \\; Mpc^{-1}$',\n", " fontsize=15, rotation = 41, color='r')\n", "ax.grid();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 34 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como puede verse, se ha obtenido un valor menor que el mejor valor actual en aproximadamente un 10%, lo cual considero que puede ser una buena aproximaci\u00f3n dado el m\u00e9todo tan b\u00e1sico que se ha empleado en la obtenci\u00f3n de la magnitud aparente correspondiente al momento de m\u00e1xima radiaci\u00f3n de las supernovas estudiadas. A este respecto puede ser interesante leer la azarosa historia de la determinaci\u00f3n de $H_0$ en [The Ups and Downs of the Hubble Constant](http://arxiv.org/abs/astro-ph/0512584). \u00a1Ha costado unos 75 a\u00f1os obtener un valor de $H_0$ con una incertidumbre menor del 10%!\n", "\n", "Bien, pues aqu\u00ed concluye este art\u00edculo. \u00a1Hasta la pr\u00f3xima!" ] } ], "metadata": {} } ] }