为何选用python进行科学计算

为何选用python进行科学计算

ID:21534107

大小:32.80 KB

页数:10页

时间:2018-10-22

为何选用python进行科学计算_第1页
为何选用python进行科学计算_第2页
为何选用python进行科学计算_第3页
为何选用python进行科学计算_第4页
为何选用python进行科学计算_第5页
资源描述:

《为何选用python进行科学计算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、为何选用python进行科学计算摘要:说明:本篇为翻译文章,原文的题目为:ScientificComputingwithPython。从文中可以看出,作者对在科研活动中使用Python有着深刻的见解。而这一点在国内就差许多了,所以,翻译过来放到这里,为Python摇旗呐喊一下,希望能有更多...说明:本篇为翻译文章,原文的题目为:ScientificComputingwithPython 。从文中可以看出,作者对在科研活动中使用Python有着深刻的见解。而这一点在国内就差许多了,所以,翻译过来放到这里,为Python摇旗呐喊一下,希望能有更多的人加入到Pytho

2、n的行列。摘要:脚本语言已经为很多科学计算器的构建提供了很多强有力的工具,因为他们提供了其他解释型语言的接口。和很多用C,C++,Fortran,等编写的软件进行集成,也可以为他们提供框架单元构建。在这篇论文中,我主要描述脚本语言到科学计算工程中的进程,我强调的是使用python在科学动态研究中采用的大规模模块动态代码,实验在在洛斯阿拉莫斯国家实验室进行的。虽然这个应用程序和天文数据分析,问题,解决方案和经验教训等不想关,但是可能感兴趣的研究人员正在考虑在自己的项目中使用脚本语言。1.简介作为科学的软件开发,最大的障碍之一是如何使科学软件灵活,使用方便,维护简单,

3、易于适应规模扩大和复杂性增高的新问题。当然,是有很多原因希望这些高品质,其中很重要的一点是,他们允许科学家花费更少的时间争取更多的时间去亚牛软件,投入更多的时间在科学上。很不幸的事,当前科学计算软件的现状很不理想。首先,增加的计算能力已使科学家解决了空前的规模和复杂性的问题。但是,有一个副作用,就是需要执行这些任务的软件也已成为庞大而复杂的。二是科学家们普遍使用各种各样的系统,从模拟代码,数据分析软件包,数据库,可视化工具,到与每一个代表不同的接口和文件格式的本土软件。因此,科学家可能会花费大量的时间,只是想把所有这些组件以某种方式共同工作。最后,努力运用现代科学

4、软件工程原理去重写软件,充其量只能产生不同的结果。第一,科学家不愿意去抛弃原有的软件。其次,这种努力对第二系统的影响也是很脆弱的,设计者想建造一个足够庞大的系统以至于不可能去实施,也不可能去满足特定问题的需要。尽管存在这些困难,较有前景的技术之一,是近年来出现的常见的脚本语言,如Python,Perl和Tcl(Python,1999;Perl,1999;Tcl,1999).,它们作为一种工具,能创造更好的科研软件。在这篇文章中,我要重点强调脚本语言,尤其是python,源于我对一种特定的应用新程序4年的跟踪研究。我特别希望来说明脚本语言是多么适合的科学软件项目,以

5、及它们可提供的开发方式去解决重要的软件工程问题,如可靠性,元器件,重用和项目管理工程。尽管讨论将集中在Python中,我想强调这些原则适用于一般的脚本语言。2.科学软件开发的特点考虑到科学软件主流派别。一方面有诸如IDL和MATLAB等封装包。另一方面也有一些特定软件去解决特定问题(多数是研究人员自己写的)。即使是封装包更精致,对于更有意思的科学内容来说,更有可能被本土软件包含。例如,一个特殊用途的程序可能被写入为了解决偏微分方程,而像IDL这样的包可能会错误百出。大多数新的科学软件创建都是一个研究小组决定的,以解决新的计算问题。最初,他们的目标只是要解决一个非常

6、具体的问题,由一组特定的方程,初始条件,边界条件和数值技术定义。在许多情况下,这个问题可以通过编写C或Fortran与一些数值方法和一些编程库援助的小程序就可以搞定。刚开始时,程序很小。但是一旦它们成功了,就会被扩大去解决一些类似的问题。为了处理这些差异,额外的灵活性通常被添加到一个的用户界面,无论是用户查询各种问题参数或要求用户提供一个系列的命令行选项的形式系统。不幸的是,随着更多的功能以这种方式被添加到工程中,科学家会在众多命令行和神秘的输入脚本中崩溃。当程序到达这个阶段,开发者可能会决定彻底改革其结构和用户界面。很多时候,往往会导致本土的命令解释器,它允许用

7、户设置参数和执行简单的命令。当然,这并不是一个惊奇。其一,实施一个简单的命令解释器对有能力的程序员来说并不是十分艰巨。其次,这种界面可以模仿那些更精美得科学软件。不幸的是,这通常代表了许多项目开发的最后阶段。其一,超越了简单的解释器将涉及广泛的编程技能,而这正是很多编程者不具备的技能。例如,把一个完整的编程语言的命令解释器都需要一些语言解析器的设计施工和技术知识。例如,把一个命令行解释器变为整个编程语言,需要解释器构造技术和一些语言设计技巧。同样,建设一个图形用户界面需要一个同样复杂的编程技能。然而更可能的情况是,科学家们没有看到这些功能被加入所获得收益是佛值得开

8、发。因此,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。