【问题标题】:Alternative to scipy and numpy for linear algebra?线性代数的 scipy 和 numpy 的替代方案?
【发布时间】:2021-01-15 04:42:17
【问题描述】:

对于 python,是否有一个好的(小而轻的)替代 numpy 来做线性代数? 我只需要矩阵(乘法、加法)、逆矩阵、转置等。

为什么?

我厌倦了尝试安装 numpy/scipy - 得到它真是太棒了 它可以工作 - 它似乎永远无法正确安装(尤其是因为我有 两台机器,一台linux和一台windows):不管我做什么:编译 它或从预构建的二进制文件安装。做一个有多难 正常工作的“普通”安装程序?

【问题讨论】:

  • 也许有人可以帮助您解决安装问题。你试过超级包(herehere)吗?如果是这样,出了什么问题?
  • 我确实尝试过 - 没有出错。它安装得很好——但我不能从 python 中“导入 numpy”——因为它没有找到它!
  • 您需要执行繁重的计算,还是只是一堆示例矩阵?前几天我刚刚用纯 Python 编写了一些矩阵运算代码。它在性能方面是无用的,但可以完成工作,我可以在某个地方公开它。
  • 好的 - 刚刚上传了我的代码 - 检查下面的答案
  • 我也在寻找一个更轻的版本,因为使用 numpy 在使用 py2exe 转换时会产生巨大的分布,所以这是一个非常有效的东西。

标签: python


【解决方案1】:

我很惊讶没有人提到SymPy,它完全用 Python 编写,不需要像 Numpy 那样编译。

还有tinynumpy,它是Numpy的纯python替代品,功能有限。

【讨论】:

【解决方案2】:

鉴于您的问题,我决定从我使用它的地方提取矩阵代码,并将其放在可公开访问的地方 -

所以,这基本上是 Matrix 类的纯 python ad-hoc 实现,可以执行加法、乘法、矩阵行列式和矩阵求逆 - 应该有一些用处 -

因为它是纯 Python 的,而且完全不担心性能,它不适合任何实际计算 - 但它足以以交互方式处理矩阵,或者矩阵代数远不是关键部分的代码。

存储库在这里, https://bitbucket.org/jsbueno/toymatrix/

您可以直接从这里下载: https://bitbucket.org/jsbueno/toymatrix/downloads/toymatrix_0.1.tar.gz

【讨论】:

  • 谢谢,不过 numpy 真的很方便。
【解决方案3】:

我听到了,我也去过那里。 Numpy/scipy 是非常棒的库,可惜安装问题经常影响它们的使用。

此外,据我了解,也没有太多好的(更易于使用)选项。我所知道的唯一可能更简单的解决方案是"Yet Another Matrix Module"(参见python.org 上的NumericAndScientific/Libraries 列表)。我不知道这个库的状态(稳定性、速度等)。有可能从长远来看,您的需求将超出任何简单的库,并且您最终还是会安装 numpy。

使用任何其他库的另一个显着缺点是您的代码可能与 numpy 不兼容,而 numpy 恰好是 python 中事实上的线性代数库。另请注意,numpy 已经过大量优化 - 速度是无法保证与其他库一起获得的。

我真的会更加努力解决安装/设置问题。替代方案可能更糟糕。

【讨论】:

  • 也去过那里。 Python+Windows 吸在一起的地方太多了。
  • 一直在使用 python+windows - 从来没有遇到过问题。关于这个 numpy/scipy 组合的东西真的把它搞砸了。
  • 我不同意。如果 Python 在 Windows 上的工作就像一个魅力,那么为什么在 Python 文档中有一个完整的章节,其中包含 Windows 的常见问题解答(而没有其他操作系统的常见问题解答)? docs.python.org/faq/windows.html
  • Python+Numpy+Scipy+... 在 Windows 上运行完美。从来没有任何问题。
  • Anaconda 是在 Windows 上安装 numpy 和 scipy 的完美方式。 continuum.io/downloads
【解决方案4】:

你试过anaconda吗? https://www.anaconda.com/download 这应该允许它轻松安装这些软件包。

conda install -c conda-forge scipy

conda install -c conda-forge numpy

除了为您提供在 linux/mac/linux 中安装它们的简单方法外,您还将获得虚拟环境管理

【讨论】:

    【解决方案5】:

    我有时会遇到这个问题..不确定这是否可行,但我经常使用自己的帐户安装它,然后尝试在 IDE(在我的情况下为 komodo)中运行它,但它不起作用。就像你的问题一样,它说它找不到它。我解决这个问题的方法是使用sudo -i 进入root,然后从那里安装。

    如果这不起作用,您能否更新您的答案,以提供有关您使用的系统类型(linux、mac、windows)、python/numpy 版本以及您如何访问它的更多信息,这样会更容易来帮忙。

    【讨论】:

      【解决方案6】:

      对于仍有问题的人:尝试 python 便携: http://portablepython.com/wiki/Download/

      【讨论】:

        【解决方案7】:
        猜你喜欢
        • 1970-01-01
        • 2012-09-06
        • 1970-01-01
        • 2018-07-29
        • 1970-01-01
        • 2016-09-01
        • 1970-01-01
        • 2011-12-07
        • 1970-01-01
        相关资源
        最近更新 更多