Python的科学计算功能非常强大,各方面的支持也渐趋成熟。应对日常的科学计算已是绰绰有余。HYRY写的“用Python做科学计算”就是很好的入门教程。但目前中文资源仍比较少,我这里根据Astronomical Python、和

Python for astronomers两个页面对常见的科学及天文类资源做个简单的介绍 (新闻动态可以参考AstroPython)。

linux下的安装我不多说,windows下推荐安装现成的发行版,目前主要有两个:Python(x,y)和EPD (Enthought Python Distribution)。前者是个开源工具大集合,有完整,标准,精简,和ETS(Enthought Tool Suite)四种安装方式可选,完整版包括Qt开发工具和Eclipse开发平台等众多工具,体积有600多M,完全免费;后者包含的库也很全,因为只有命令行界面,体积要小一些,224M。虽然是商业软件,但也免费提供32位的教育版。

下面是一些常用的科学计算扩展,很多都已经包括在上面的两个发行版中。

Numpy – Arrays manipulation library 科学计算的必装模块,几乎所有的其他科学模块都依赖于它。

Scipy – 扩展的科学计算模块。

PyGSL C/C++语言中著名的科学计算函数库GNU Scientific Library (GSL)的python版,也有Pyrex版本,PyrexGsl

PyIMSL:商业软件 IMSL 数值计算函数库( IMSL Numerical Libraries)也推出了python 版,可选择非商业授权。

IPython – 最好的命令行界面。

Matplotlib – 高质量的2D作图模块,足以替代GNUPlot

Mayavi:强大的三维作图模块,属于EPD公司套件的一部分

Sympy:符号计算模块

StatLib:统计学工具箱

GDL:独立的IDL程序编译器。

如果要调用C,C++或者Fortran模块,还要安装编译器gcc(win下可以用cygwin或者MinGW)并修改配置文件,如果未指定,程序会默认寻找Visual Studio 2008,找不到时提示如下:

error: Unable to find vcvarsall.bat

现在各个领域的python模块都已经很丰富了,丝毫不逊于Matlab的工具箱。光是Scipy社区的科学模块列表就已经让人目不暇接了(天文由此去),也可以在python社区的模块列表中直接搜索 (不过搜astro评分靠前的几个都是占星模块……)。我挑了些天文模块做简单的介绍:

AstroLib:IDL下的天文运算库Astronomy User’s Library,已经被移植到了Python上。虽然项目主页放在Scipy上,但并没有包括在scipy的安装包中,甚至也没有完整的安装包,6个子库由不同的单位开发维护,要分别下载安装。分别是处理数据表的 AstroAsciiData,孔径测光 pysynphot,坐标转换 coords,测光包tfit,FITS文件坐标转换 pywcs,和一个数据格式转换包 votable2recarray

STSCI Python:哈勃望远镜的东家空间望远镜研究中心STSCI开发的一系列Python工具。包括IRAF的Python脚本环境,PyRAF;处理FITS图像和表格的PyFITS,用于图像合并的MultiDrizzle,出现于Astrolib中的孔径测光脚本pysynphot,以及数据可视化的Numdisplay。但目前的2.9版不支持Python 2.5以上的版本,还依赖于IRAF、Tcl/Tk 等其他软件。不过单独安装最新的PyRAF 1.8倒是可以在2.6下运行。Linux和Mac下还有更简单的办法,就是安装欧南台的天文软件包Scisoft,环境都是配好的。

PyMidas:欧南台为其数据处理系统MIDAS开发的python接口。

EphemPy:为JPL ephemeris tables 开发的Python接口,需要从JPL星历网站下载数据文件。有着这个库,就不用查天文年历了。

PyEphem:功能和前一个库类似,不过是基于Linux上著名的天象软件XEphem的算法开发,可以独立计算。

Kapteyn Package:荷兰Groningen大学Kapteyn Astronomical Institute的函数库,基于numpy 和 WCSLIB ,没有提供安装包,需要自行编译。

APLpy:在matplotlib的基础上增强对天文图像的处理功能

astLib:天文学家Matt Hilton开发维护的模块,包括图像处理,坐标转换,绘图,统计等一整套工具。

ATpy 专门处理天文表格,FITS, VO,数据库通吃。

pywcsgrid2 利用matplotlib来显示fits图像

CosmoPy著名宇宙学程序CAMB的python后端,和CosmoMC类似。但版本较老,08年12月之后一直没有更新。

cosmocalc,计算宇宙学模型下的基本常数。

个人脚本:

密歇根大学Min-Su Shin,SDSS,VO,Cosmology的都有。

作为一门新兴的语言,Python无疑有着出色的表现,但也有着无法回避的困难,向下兼容,由于3.0新版语法变动很大,几乎所有这些库都没有跟进,2.6仍是目前最好的选择。另一方面,不同平台的软硬件条件差别也造成了调试编译的困难,前面介绍的一些模块甚至不能在Windows下顺利安装。然而,这不就是历史吗……

博客居 python_python天文资源索引相关推荐

  1. 认知科学与心理科学优质资源索引 ← 转自阳志平的个人网站

    认知科学与心理科学优质资源索引http://www.yangzhiping.com/info/resources.html 说明:过去十年,学习方式发生了什么急剧变化?这些变化能够为我们提升心智带来什 ...

  2. java是所有资源文件的索引_《Java程序设计》课程教学资源索引

    <Java程序设计>课程教学资源索引 说明: 本课程针对零Java编程基础的计算机专业学生,前提是学过C语言. 课程主要讲授J2SE,教学目的是带领学生迈入Java开发的大门,初步理解和把 ...

  3. maven(android-maven-plugin3.8.0)打包apk无法启动,apklib依赖包的资源索引出错(R文件与主模块冲突)问题解析

    近期在用maven,遇到了一个问题,用maven打出的apk有问题无法启动,但是用idea打包的就是正常的. 日志中显示的问题是,一个apklib形式的依赖包中的一个资源出现了问题.反编译对比mave ...

  4. 2022全新适配微信登录接口 wordpress博客系统资讯资源变现下载小程序源码

    介绍: 2022全新适配微信登录接口 Wordpress博客系统资讯资源变现下载小程序源码 因为由于微信的新规从11月9号后新上线的小程序将不能获取用户头像和名字了 所以微信放需要适配全新的,支持让用 ...

  5. 北理工《Java程序设计》课程教学资源索引(2013版)——第21讲及Android第4讲发布

    北理工<Java程序设计> 课程教学资源索引(2013版,含<Android开发基础>) 说明: "Java程序设计"是北京理工大学计算机学院开设的选修课程 ...

  6. 进程、线程、协程 关于进程、线程、协程,有非常详细和丰富的博客或者学习资源,我不在此做赘述,我大致在此介绍一下这几个东西。 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。

    进程.线程.协程 关于进程.线程.协程,有非常详细和丰富的博客或者学习资源,我不在此做赘述,我大致在此介绍一下这几个东西. 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度. 线程 ...

  7. jekyll php,使用Jekyll在Github上搭建个人博客(文章分类索引)

    系列文章传送门: 今天又滚出去野了一天,打牌输了,好在输的不多,聊天聊到了以后的路子,不太好走啊... 使用Category分类 一般来说,一个个人博客的文章会分为很多种,比如说有记录生活情感的.技术 ...

  8. html按钮扁平化,HTML5和CSS3扁平化风格博客教程的资源分享

    本课程通过CSS3扁平化风格博客的实例详细讲解,让大家更容易理解常规网页的组成部分,灵活的使用不同部分WEB组件,理解它的构成思想,以及网页灵活的布局和设计.我们也可以由宏观到微观去掌握整体的布局. ...

  9. 跟小博老师一起学习数据库 ——索引

    2019独角兽企业重金招聘Python工程师标准>>> 数据库索引是为提高查询数据速度而建立的目录,索引分成聚簇索引和非聚簇索引两种.聚簇索引根据数据的物理位置排序存放,它能提高多行 ...

最新文章

  1. html5 本地批量存储,HTML5本地存储
  2. Mysql高级调优篇——前言简介
  3. java File类 常用相关函数
  4. 用户自定义一个异常,编程创建并抛出某个异常类的实例。运行该程序并观察执行结果。
  5. python 让异常名称显示出来
  6. C++vector容器-构造函数
  7. SQL Server开发接口生成方法
  8. xpage 传参_jQuery iScroll.js 移动端滚动条美化插件第1/5页
  9. docker安装mysql5.7_docker安装mysql5.7
  10. 【Word】利用域代码快速实现公式按章节自动编号
  11. ps4手柄android ppsspp,求助,ppsspp模拟器能用ps4手柄吗
  12. 区块链 以太坊 多层调用,获取调用者 msg.sender
  13. 文件夹里面的文件批量改名字
  14. Linux7清空回收站,centos rm回收站
  15. 20160301 常用AFX函数
  16. 罗技无线网卡linux,Linux(Ubuntu)装罗技LMS避坑指南
  17. 牛客网 赛码网 js输入输出
  18. YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别)
  19. Java——随机生成4位验证码,由用户输入并验证是否输入正确,如果输入错误就生成新的验证码让用户重新输入,最多输入5次
  20. 浅析深度学习中优化方法

热门文章

  1. 【2017/07】实验记录——SSSP
  2. java.lang.IllegalStateException: Bindings already cleared.
  3. 7-2 长度质量计量单位换算(分数 5)
  4. 怎么加网上的精准引流?精准引流有没有小技巧?
  5. 计算机二级电子商务考试内容,电子商务师考试内容
  6. iOS WebDriverAgent 环境搭建
  7. layui 单元格事件
  8. 本地git拉取远程新分支
  9. 一篇浅显易懂的 TS 入门指南
  10. Linux 运维基础