星系团数据分析方法及Python语言实现
2014-12-19苟天姿
苟天姿
(贵州大学 理学院,贵州 贵阳 550025)
目前,天文学研究领域内已经展开了许多星系巡天的观测研 究, 如Sloan数字巡天计划 (SDSS)、两微米全天巡天(2MASS)、Arecibo 中性氢巡天(ALFA)等。不同的巡天项目,有不同的数据库,这给多波段整合研究带来了困难。
采用多个波段观测数据的对比研究方法是研究星系特征的一个有效手段。在星系团的特征研究中,能够在星系团内证认出星系成员是非常关键的一步。 最广泛的一种证认方法是Huchra 和Geller 的找朋友算法(Friends of Friends)。
本文主要描述了统一不同数据库坐标格式的方法、寻找中性氢观测的光学对应体方法和证认星系团成员的方法。 第一章介绍Sloan 数字巡天计划(SDSS)和Arecibo 中性氢巡天(ALFA)项目,第二章介绍星系团数据分析方法和Python 语言实现,第三章进行简单的总结。
1 光学巡天与中性氢巡天
由于不同的巡天项目有着不同的观测原理,从而形成了对同一位置的观测目标不一致现象,并且观测结果表示形式不一,因此在采用多波段观测研究星系特征的方法 (如采用光学巡天和中性氢气巡天多波段研究星系特征)时,就需要找到中性氢巡天的光学对应体并且将单位表示统一化。
1.1 Sloan 数字巡天计划(SDSS)
Sloan 数字巡天第九批释放的数据 (Data Release 9,DR9)[3]实现了14 555 平方度的天空覆盖,含有恒星光谱668054 个、星系光谱1457 002 个。 DR9 数据库内包含有许多的表格,如PhotoObjAll、Photoz、Region、StellarMassPassivePor 和 TwoMass等。 在DR9 数据库内查询表格内的信息需要使用SQL 查询语言。 查询时需要整理出需要的观测数据, 然后在casjobs 内用SQL 语言实现表格的交叉查询。 星系的位置坐标,查询结果显示的是以角度为单位,即赤经和赤纬单位都是角度。
1.2 Arecibo 中性氢巡天(ALFA)
ALFALFA 观测数据已经释放了40%的数据库(a.40)[4]内包含的观测参数包括有星系的位置(赤经和赤纬)、中性氢谱线流量密度、观测速度达到峰值的50%的观测值W50 和中性氢的观测类型等。 其中,星系的位置坐标表示形式为,赤经(hhmmss.s)+赤纬(ddmmss)的形式。
2 星系团数据分析方法及Python 语言实现
采用整合多波段观测数据的方法来对比研究星系团的特征, 需要统一多波段的观测数据格式和寻找中性氢观测的光学对应体,之后对星系团成员进行证认。本文主要运用Python 语言来实现统一不同数据库的数据格式、 寻找光学对应体和证认星系团成员的算法(F0F)。 Python[2]是一种非常流行的面向对象的高级解释型语言,其语法非常简洁并且便于人理解,拥有便捷的文本处理方法和很多强大的数学库、绘图库,天然支持高精度计算,所以越来越多的应用在了科学计算中。
2.1 寻找中性氢观测的光学对应体
光学巡天数据库(DR9)内星系数据查询结果中,星系的位置坐标(赤经和赤纬)是以角度单位。中性氢巡天数据库(a.40)中星系位置坐标表示形式是, 赤经+赤纬, 单位表示为, 时分秒(hhmmss.s)+度分秒(ddmmss)的形式。将星系位置坐标格式统一为以角度为单位的方法,我们是利用python 语言来实现。
ra 和dec 分别表示星系转换以后的赤经和赤纬。 将a.40 的位置坐标转换为角度制的方法如下:
ra=(hh+mm÷60+ss÷3 600)×15
dec=(dd×1)+(mm÷60)+(ss÷3 600)
统一位置坐标单位以后,将中性氢巡天数据库(a.40)内的星系位置坐标与光学巡天数据库 (DR9)内的星系位置坐标相减,满足小于1 个角分,即小于约0.016 度的两个星系视为可能为同一个星系。
这个星系在中性氢巡天数据库 (a.40)和光学巡天数据库(DR9)内,红移的比较满足以下关系的确定为同一个星系。
|ZHI-Zoc| 式中的ZHI、Zoc和zErr 分别表示, 中性氢巡天数据库(a.40)中的星系红移、光学巡天数据库(DR9)中的光学红移和光学巡天数据库(DR9)中的光学红移误差。 图1 FOF 算法流程图 本文引用的是Huchra 和Geller 的找朋友算法(FOF)[1]来实现证认星系团成员,这是最常用的一种验证星系成团性的算法。具体的算法流程图如下: 找朋友算法主要是计算星系的3 个物理参量 (星系的赤经、赤纬、星系的测光红移)来寻找星系的成员。 其中,θij表示星系i 和星系j 之间的角距离,H0表示哈勃常量, 这对星系的平均速度为,vi和vj分别表示星系i 和星系j 的速度。 星系i 和星系j 必须满足以下三个条件才能视为属于一个星系群或星系团内: 参数DL和VL主要是根据使用的星系数据库来具体取值。一般将研究中将群的最小成员数Nmin设置为3 个。 找朋友算法主要是计算星系的3 个物理参量 (星系的赤经、赤纬、星系的测光红移)来寻找星系的成员。 其中,θij表示星系i 和星系j 之间的角距离,H0表示哈勃常量, 这对星系的平均速度为和vj分别表示星系i 和星系j 的速度。 星系i 和星系j 必须满足以下三个条件才能视为属于一个星系群或星系团内: 参数DL和VL主要是根据使用的星系数据库来具体取值。一般将研究中将群的最小成员数Nmin设置为3 个。 用以上方法就可以输出在一个天区内的星系团成员情况表3FOF 算法的Python 实现通过上述过程,执行Python 程序,本文从光学巡天数据(DR9)和中性氢巡天数据(a.40)中获得了星系团的特征数据。 通过该数据,研究者可以做出一系列的星系团特征图,来分析星系团的结构与环境特征。 本文通过这个特征数据的分析,得到了与黄珊等人[5]做出的a.40 星系的特性研究结果一致。 由于不同的天文观测项目有不同的观测原理,所以在不同的数据库内查询的星系数据,通常需要经过转换坐标单位格式、辨认同一星系、搜集同一星系的多波段数据、整理数据计算物理参量来研究星系特征的过程。 研究星系团特征前,一般需要证认其星系团成员后才能研究其特征。 本文介绍的证认方法是找朋友算法(FOF)。 通过python 语言来实现a.40 内的光学对应体的找寻过程,进而整合出星系的光学数据和中性氢的观测数据,以及实现了找朋友算法。 数据的分析结果表明了我们的研究方法是正确可靠的,为下一步的科学研究打下了良好的数据基础。 [1]C.S. Botzler, J. Snigula, R.Bender, et al. Finding structures in photometric redshift galaxy survey: An extended friends-offriends algorithm.Mon.Not.Roy.Astron.Soc.349(2004)425. [2]Python:http://www.python.org/. [3]dr9:http://skyserver.sdss3.org/CasJobs/. [4]a.40:http://egg.astro.cornell.edu/alfalfa/data/index.php. [5]Shan Huang,Martha P.Haynes,Riccardo Giovanelli,et al.THE ARECIBO LEGACY FAST ALFA SURVEY:THE GALAXY POPULATION DETECTED BY ALFALFA.The Astrophysical Journal,Volume 756,Issue 2,arti cle id.113,29 pp.(2012).2.2 找朋友算法(Friends Of Friends)
3 总结