当前位置: 首页 > 面试题库 >

适用于科学计算的Python发行版和环境

段恩
2023-03-14
问题内容

如果这个问题太笼统,我先向您道歉。我来自MATLAB世界,对Python的经验很少。

在花了一些时间阅读了一些基于Python的科学计算环境和发行版之后,我感到我仍然不完全了解解决方案的前景或一些著名软件包之间的精确关系,包括:

  • 科学
  • 间谍库
  • pythonxy
  • 热情的Python发行版
  • 智者

进一步来说:

  • 以上任何软件包都提供类似的功能吗?它们是否互补?
  • 其中任何一个的安装是否包括或要求其他任何一个的安装?如果是这样,哪些包括或要求哪些?

不太重要的是,是否还有其他与上述软件包相似的,提供相似功能的软件包?

提前致谢


问题答案:

使用Python进行的科学计算采用了普通的通用语言,并使用了一系列模块,每个模块都实现了MATLAB功能的某些方面。因此,使用Python科学编程的经验与MATLAB相比并不太紧密。但是,Python作为一种语言要干净得多。这样吧。

在Python科学计算的基本需要的模块NumpyMatplotlibSciPy如果你正在做的3D绘图,然后Mayavi/VTK。这些模块都依赖于Numpy。

Numpy
实现一种行为类似于MATLAB数组(即快速矢量计算)的新数组类型。它还定义了执行这些计算的函数负载,这些函数的名称通常与MATLAB中的相似函数相同。

Matplotlib 允许使用与MATLAB非常相似的命令进行二维绘图。Matplotlib还定义了 pylab ,这是一个模块-
只需一次导入-即可将大多数Numpy和Matplotlib函数带入全局名称空间。这对于不想输入大量名称空间前缀的快速/交互式脚本很有用。

SciPy 是排列在SciPy框架下的Python模块的集合,对科学家很有用。拟合例程在SciPy模块中提供。Numpy是Scipy的一部分。

Spyder 是一个桌面IDE(基于QT),可以轻松地模拟MATLAB IDE。它是Python-XY发行版的一部分。

IPython 提供了增强的交互式Python
shell,可用于试用代码,运行脚本以及与结果进行交互。现在可以将其提供给Web界面以及传统控制台。它还嵌入在Spyder IDE中。

发行版

在计算机上运行所有这些模块可能很耗时,因此有一些发行版可以打包它们(以及许多其他模块)。

Python-XYWinPythonEnthought 以及最近的
Anaconda
都是完整的软件包发行版,包括所有核心模块,尽管Spyder并未随附Enthought。

Sage
是另一种编程环境,可以通过Web或通过命令行提供服务,也可以作为一个完整的软件包来使用,其中包括许多其他模块。传统上,它是基于Linux安装的VMWare映像而来的。尽管您是在Sage环境中编写Python的,但它与普通的Python编程有所不同,它基于Python定义了自己的语言和方法。

如果您使用Windows,我将安装WinPython。它安装了您需要的所有内容,包括Scipy和Spyder(这是MATLAB的IMHO的最佳替代品),并且由于它是独立设计的,因此不会干扰您在系统上安装的其他Python。如果您使用的是OSX,最好的方法就是使用Enthought-
可以使用MacPorts单独安装Spyder。对于Linux,您可以分别安装组件(Numpy,SciPy,Spyder,Matplotlib)。

我个人不喜欢Sage方式“隐藏在后台”使用Python,但您可能更喜欢这种方式。



 类似资料:
  • Numpy 是 Python 科学工具栈的基础。它的目的很简单:在一个内存块上实现针对多个条目(items)的高效操作。了解它的工作细节有助于有效的使用它的灵活性,使用有用的快捷方式,基于它构建新的工作。

  • Python 在科学计算上的应用非常广泛,包括数学、统计学、图形学……等等, 也是科学计算领域的首选编程语言之一。 这一部分的文章主要是介绍 Python 在科学计算领域常用的库,以及科学计算在日常中可能的实际用例。 常用库介绍 IPython 和 Jupyter Notebook NumPy NumPy 是 Python 科学计算生态系统的基础,提供了多维数组操作、线性代数运算、傅立叶变换等 多

  • 本文向大家介绍python科学计算之scipy——optimize用法,包括了python科学计算之scipy——optimize用法的使用技巧和注意事项,需要的朋友参考一下 写在前面 SciPy的optimize模块提供了许多数值优化算法,下面对其中的一些记录。 非线性方程组求解 SciPy中对非线性方程组求解是fslove()函数,它的调用形式一般为fslove(fun, x0),fun是计算

  • Jupyter Notebooks 你可以按[shift] + [Enter]或按菜单中的“播放”按钮来运行单元格。 在function(后面按[shift] + [tab],可以获得函数或对象的帮助。 你还可以通过执行function?获得帮助。 NumPy 数组 操作numpy数组是 Python 机器学习(或者,实际上是任何类型的科学计算)的重要部分。 对大多数人来说,这可能是一个简短的回顾

  • 本文向大家介绍Python科学计算之Pandas详解,包括了Python科学计算之Pandas详解的使用技巧和注意事项,需要的朋友参考一下 起步 Pandas最初被作为金融数据分析工具而开发出来,因此 pandas 为时间序列分析提供了很好的支持。 Pandas 的名称来自于面板数据(panel data)和python数据分析 (data analysis) 。panel data是经济学中关于

  • 一位电气工程师最近告诫我不要将GPU用于科学计算(例如,在精度非常重要的情况下),因为它没有像CPU那样的硬件保障。这是真的吗?如果是的话,这个问题在典型的硬件中有多普遍/多严重?