科学计算常用开源工具略述

原作:王不日天

突发奇想,觉得要把自己工作或者非工作中用过或者想尝试的好东西都列一下。先是数值计算方面:

BLAS,如今更类似于一个标准,规定了底层线性代数运算必须有的功能,原型用Fortran实现;

CBLAS,BLAS的C版本;

LAPACK,基于BLAS具有更多高级功能的线性代数库,同样是Fortran;

GSL,GNU的科学计算库,包含了BLAS的线性代数功能,还有比如复数、随机数、拟合、数值积分等等功能,就是Maple的穷人版,用C实现;

CERNLIB,CERN开发的各种零散工具,最有名的是MINUIT拟合程序,Fortran写成;

接下来是通用数据分析工具一类:

ROOT,CERN目前的拳头产品,包含了从计算到作图甚至还有神经网络模拟等等各种功能,充分体现了物理学家什么事都想自己从头做起的精神;数学部分基于GSL,数据处理、拟合部分很多基于CERNLIB,作图和GUI部分倒是自己实现的,基于C++以及一个C++解释器CINT,Matlab的穷人版;

Gnuplot,GNU开发的作图工具,既然是GNU那当然是C语言写的了,Origin的穷人版;

然后是物理学科的一些模拟工具:

Geant4,模拟高能物理中的粒子探测器对入射粒子产生的反应,C++写成,我从它的架构、物理原理和源代码里学到了很多;

Pythia,高能粒子碰撞的模拟,原本是Fortran程序,现在用C++全部改写;

CMBFAST,宇宙学方面检验理论模型对微波背景辐射所产生影响的模拟程序,全部是Fortran,似乎做宇宙学的人就喜欢Fortran;

GALPROP,大名鼎鼎的宇宙线在银河系中传播和散射的模拟,一样是由Fortran迁移到C++,这两天正准备读读它的文档看看我对星际尺度上粒子行为的模拟理解对不对,因为到目前我的理解都是由Geant4里学来的,但探测器和星际尺度差别太大了,背景介质也完全不同;

CORSIKA,跟GALPROP相对应,是模拟宇宙线粒子来到地球后在大气层中的行为的

最后是天体物理领域一些极其特殊的数据处理工具:

HEASARC,NASA的工具软件合集,包含了NASA参与的一系列项目其特殊格式的数据的读取和分析功能,当然也有NASA开发现在非常通用的FITS格式数据和图像文件的IO工具比如ds9,fv等等;

HEALPix,为WMAP专门开发的一种特殊的坐标和格点以及相应的数学工具,好处是可以把球面分割为面积完全相同的若干片从而方便数据分析;

VEGAS,我们组所参与的VERITAS项目专有的数据分析C++工具,bug不少……

先就想到这么多。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值