python,python计算数学

  python,python计算数学

  作者J.R .约翰逊(Robert @ riken . jp)http://dml.riken.jp/~罗布/

  IPython笔记本的最新版本

  课程文档http://github.com/jrjohansson/scientific-python-lectures.

  其他作者的notebookhttp://jrjohansson.github.com。

  一、实验说明本课程主要介绍科学计算、实验环境的安装和使用等。

  1.环境登录自动登录,无需密码,系统用户名为石燕楼。

  2.环境介绍。本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:

  Spyder :Spyder是一个类似MATLAB IDE的Python IDE,专注于科学计算。3.环境代码编写和命令运行将在Spyder IDE上进行。

  实验报告可以在个人主页查看,里面有每次实验的截图和笔记,以及每次实验的有效学习时间(是指在实验桌面花费的时间,如果没有操作,系统会记录为发呆时间)。这些都是你学习的真实性。

  二、理科优雅柜中实验内容的计算。传统意义上的科学分为经验科学和理论科学两大类,但在过去的几十年里,计算逐渐成为科学的重要组成部分。科学计算接近理论,包含了实验工作的许多特点,因此常被视为科学的第三分支。在大多数领域,计算是经验和理论的重要补充。现在大量的论文包括数值计算,计算机模拟和建模。

  在经验科学和理论科学领域,已经建立了完善的规则,以便获得研究成果。然而,在计算机科学中,没有很好的指导方针规定源代码和数据必须公开。最近,这个问题引起了越来越多的关注。包括《科学》在内的一些著名期刊都在呼吁论文作者提供处理数据的源代码。关于如何促进源代码分发的讨论将会继续。

  引用计算科学中的可复制研究,Roger D. Peng,science 334,1226 (2011)。

  把光照进黑盒,A. Morin等人,科学336,159-160 (2012)。

  开放计算机程序的案例,华盛顿特区,自然482,485 (2012)。

  科学计算的要求,可复制性和再现性,是科学方法的两大基石。对于数值工作,观察这些概念有以下两个实际意义:

  复制:如果需要,论文作者可以再模拟一次,复制结果。其他科学家做了同样的计算后应该也能得到同样的结果。

  可再现的:数值模拟得到的结果可以通过方法的独立实现,或者完全不同的方法来再现。

  结论:一个可靠的科学结果应该是可复制的,一个可靠的科学研究也应该是可复制的。

  为了实现这些目标,我们需要:

  准确记录纸质数据和图表的源代码和版本号。

  记录所用软件的版本号等信息,保证实验环境可以恢复。

  确保旧代码和注释已经备份,以备将来参考。

  理想情况下,源代码应该在网上发布,这样其他对它感兴趣的科学家就可以很容易地得到它。

  管理源代码的工具确保科学模拟可以被复制和再现是一项麻烦的工作,但是有许多好的工具可以帮助你:

  版本控制系统(RCS)软件:

  Git-3358git-SCM.commercurial-3358mercurial.selenium.com,也就是hgsubversion-http://subversion.apache.org,也就是svn在线源代码库:

  GitHub-3358 www.github.com bit bucket-http://www.bitbucket.com为什么Python适合科学计算?Python在科学计算中扮演着重要的角色:

  大量的社区用户,方便寻求帮助和查询文档。科学计算库中有一个近乎完美的生态系统:

  numpy:3358 numpy . Scipy . org-Numerical Python Scipy:3358 www . Scipy . org-Scientific Python matplotlib:3358 www . matplotlib . org-Graphics Library卓越的性能3354集成了用C和Fortran编写的高度优化的代码:

  良好的支持blas,altas blas,lapack,arpack,Intel mkl,

  多进程多线程并行计算(MPI)GPU计算(OpenCL和CUDA)容易获得,适用于高性能计算机集群。

  不需要许可费。

  科学Python软件栈

  Python环境这里是一些将在科学计算中使用的Python环境。

  IPython IPython是一个基于Python的交互式解释器。与原生Python Shell相比,IPython提供了更强大的编辑和交互功能。

  IPython的特性包括:

  命令历史选项卡自动完成对象的自检,自动提取对象的文档内容,与操作系统外壳有良好的交互。它支持后端多个并行线程,可以运行在计算集群或云服务上。Ipython notebook是一个基于HTML的笔记本环境,类似于Mathematica或Maple。

  虽然使用web浏览器作为图形界面,但IPython笔记本一般都在本地运行。要打开一个新的IPython笔记本,可以运行以下命令:

  $ ipython笔记本目录Spyder Spyder是一个类似于MATLAB IDE的Python IDE。它具有传统IDE环境的优点。

  Spyder的优势:

  强大的代码编辑器、动态代码自省和内置的python调试器。变量浏览器,IPython命令行终端。集成文档和帮助。Python有两个版本:Python2和Python3。Python3最终会取代Python2,但与Python2不兼容。现有的大量Python代码和包都是用Python2编写的,它仍然是使用最广泛的版本。但是,在这个实验中,Python2或者Python3都有可能。输入以下命令查看Python版本:

  $ Python-版本Python 2 . 7 . 3 $ Python 3.2-版本Python 3.2.3安装Linux在Ubuntu Linux中安装科学计算工具:

  $ sudo apt-get install python ipython ipython-notebook $ sudo apt-get install Python-numpy Python-scipy Python-matplotlib Python-sympy $ sudo apt-get ins Tall spyder Windows Windows缺少一个好的包管理系统,所以构建Python环境最简单的方法就是安装一个科学计算分发版:

  enthoughtpython distribution . epd是一个商业产品,但是如果是学术用途的话可以免费获得。阿纳康达CE。Anaconda Pro是一个商业产品,但是Anaconda社区版是免费的。Python(x,y)。开源。阅读扩展的Python。Python官方网站。Python教程。官方Python教程。想想Python。免费的Python书籍。由于Python和Python模块版本有不同的版本,每个Python包都有自己的发布周期和版本号,所以需要记录所有不同软件包的版本号。为了重现IPython notebook,需要保证notebook中的代码运行结果一致。为了鼓励记录版本号的行为,作者编写了一个IPython扩展,可以帮助生成版本号表。使用步骤如下:

  安装IPython扩展并运行:

  #您只需执行一次% install _ ext http://raw.github.com/jrjohansson/version_information/master/版本信息. py已安装版本信息. py要使用它,请键入:% load _ extversion _ information运行以下代码以生成版本表:

  % load _ ext version _ information % version _ information numpy,scipy,matplotlib,sympy

  许可本作品根据知识共享许可协议3.0获得许可。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: