首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

将 Linux 作为一个科学计算平台进行探索

将 Linux 作为一个科学计算平台进行探索

科学团体中的 LinuxLinux 在科学团体中占有重要地位,这一点也不奇怪。解决方案种类繁多,从高性能计算集群到可视化软件都包含其中。甚至还有一个基于 Red Hat Enterprise Linux 且针对科学计算的完整 Linux 发行版,它被相应地命名为 Scientific Linux。
Sage 和 Enthought Python Distribution本文介绍使用 Linux 工作站进行科学计算的两种不同方法。第一种方法是 Sage 开源数学系统,第二种方法是 Enthought Python Distribution (EPD)。这两种方法都使用大量核心开源 Python 工具来执行困难的工作。如果您想要尝试这两种方法,可使用 Ubuntu 软件管理器安装各个软件。
在这两种方法中,Sage 更全面一些,因为与其说它是大量不同的基础引擎,不如说它是一个 shell。您甚至可以从 Sage 命令行与 MATLAB 或 Mathematica 等商用产品进行交互。在 Sage 命令提示符下,您实质上是与 IPython 进行交互,从而访问其所有功能。开始探索 Sage 的功能时,您还必须考虑对象和方法。Sage 提供了大量不同的计算机代数系统,以支持用户从命令行与它们进行交互。
值得注意的是,Sage 基于 Python,但在将它传递给 Python 解释器之前,需要对每个语句进行预分析。在查看简单的交互式 Sage 命令时,可能会造成一些混淆。此行为的基本原理是:让在 Sage 中输入命令变得尽可能直观一些。一个好示例是求幂符号。在纯 Python 中,您必须输入 2**4 将二次方提高到四次方。在 Sage 中,则使用向上箭头符号 (^),比如 2^4。与基本 Python 相比,Sage 处理一些操作(整数除法)的方式也不相同。
NumPy 和 SciPySage 和 EDP 的两个最出名的潜在难题是 NumPy 和 SciPy。两个项目都在 90 年代中后期出现,最初由 Travis Oliphant 启动,Travis Oliphant 现在是 Enthought 的一名员工。NumPy 提供核心数值方法来处理数组和矩阵。SciPy 依靠 NumPy 构建其基本数组数据结构,并包含用于处理一切(从线性代数到信息处理)的大量模块。Enthought 是两个项目的发起者,并且仍在继续开发大量新版本。
安装 Sage安装 Sage 有几种选项可供选择。要查看 Sage,而不是实际安装它,可以使用 live CD 版本。您还可以在 Oracle VM VirtualBox 或 VMware Player 等虚拟机中运行 live CD。本文将介绍如何在运行最新版本的 Ubuntu (12.04) 的物理机和虚拟机上安装 Sage。
物理机从介质安装 Sage 是启动和运行 Unbuntu 12.04 的最可靠的一种方法,因为最近刚发布了操作系统。请下载源代码 tarball 并将它解压缩到一个合适的目录中。在完成构建之前,还必须安装一些必备软件,您可以使用下列命令完成安装:
1
2
3
4
sudo apt-get install build-essential gfortran
sudo apt-get install texlive xpdf evince

sudo apt-get install tk8.5-dev




安装了必备软件之后,就可以构建 Sage 了,可以使用下列命令启动构建:
1
make




此时,可以去看个电影或小睡一下。在典型台式机上,完整的构建过程可能需要几个小时。如果正确构建了一切内容,则应看到类似 图 1 的界面。
图 1. Sage 的构建界面虚拟机如果您不喜欢冒险,并且只是想要开始使用 Sage,那么在虚拟机上安装 Sage 是一个好选择。可从 Sage 网站上下载 Open Virtualization Archive (OVA) 包,该包随附提供了 Fedora 16 和 Ubuntu 10.04.3 的二进制软件包。OVA 是一个包文件(从本质上讲是一个 tar 文件),包含以 Open Virtualization Format (OVF) 形式启动虚拟机所需的所有文件。
使用 Sage安装了 Sage 后,就可以开始数学发现和探索之旅。Sage 有一个命令行界面和一个基于 Web 的界面。
命令行界面要从构建 Sage 的目录启动命令行版本,只需键入下列命令:
1
./sage




图 2 显示了一个 Sage 解释器示例和之前所述的一些数学解释。
图 2. Sage 命令行界面和数学解释整数除法中的差别与 Python 处理运算类型(整数和浮点数等)的方式有关。在 Python 中,表达式 2/3 会分配一个下舍到 0 的整数结果。Sage 将除法运算符视为有理数的构造函数,这意味着您可以用与在纸上计算非常相似的方式执行分数运算。例如,如果在 Sage 提示符处输入 2/3 + 2/3,会得到结果 4/3。如果在 Python 中键入同样的内容,则结果是 0。您可以使用 float() 或 int() 隐式地强制文字类型,如 图 2 所示。
基于 Web 的界面要使用 Sage Notebook,可以在启动 Sage 后输入 notebook(),或者是使用以下命令:
1
./sage --notebook




这会启动 Sage 服务器,并且默认 Web 浏览器会打开 Sage Notebook 主页。您会在笔记本中发现许多促进操作的功能,比如将工作表保存或加载到文件,以及常规的复制、删除和重命名功能。在 图 3 中,Sage 使用 Share 和 Publish 功能来促进协作。
图 3. Sage Notebook 功能计算机代数软件包基本 Sage 分发包含许多计算机代数软件包,其中包含 GAP、Maxima、PARI 和 Singular。每个软件包在数学社区中都有自己的关注者,并提供了略有不同的功能。这里的关键是:Sage 在基本分发中包含所有这些软件包,这意味着无需单独下载并安装它们。
图 4 显示了一个使用 Maxima 执行几种矩阵运算的示例。这是使用 Sage Notebook 完成的,它以黑色显示了用户输入,以蓝色显示了输出。前两行使用了等同于 i/j 的条目创建了矩阵,其中 i 和 j 的范围为从 1 到 4。注意,这些是有理数(分数)。
图 4. 使用 Maxima 进行矩阵运算发表科技论文发表科技论文是许多教育团体的必要条件。Sage 要求每个对象都有一个 LaTeX 表示。该表示与使用 TeX 语言生成出版品质的图形和文本的需求直接相关。注意,您需要完全安装 TeX 才能利用 Sage 提供的所有功能。
返回列表