【问题标题】:Lua Equivalent for NumPy and SciPy?Lua 等价于 NumPy 和 SciPy?
【发布时间】:2011-12-08 19:42:45
【问题描述】:

我正在考虑学习 lua,我了解到它与 python 相比是一种更小的语言,并且具有 LuaJIT 形式的高效 JIT 编译器实现。

我想知道是否可以像使用 python 和 Numpy+Scipy 一样使用 lua。 进一步,如果 Lua 有 numpy+scipy 等价物,它是否有 matplotlib 等价物?

【问题讨论】:

  • 无关紧要,但由于您的摘要听起来像 Python 没有 JIT 编译实现:有 PyPy(它也支持相当大且不断增长的 NumPy 子集)。
  • ok pypy ,没有 LuaJIT 快,我也想学习一门语言,我可以完全理解,可能在某个时候实现一个“玩具”解释器。知道有谎言,该死的谎言和基准,但我相信 shootout.alioth 基准还可以。
  • 我并不是说学习另一种语言有什么问题——恰恰相反。我只是在吹毛求疵:)
  • 可能你会成为唯一一个因为吹毛求疵而被我(评论)点赞的人。
  • 还可以看看 Torch (torch.ch),它旨在成为一个类似于 Matlab 的 Lua 库,但也提供类似于 Theano 的抽象。

标签: python numpy lua


【解决方案1】:

还有其他东西,我发现了类似于 Scipy+matplotlib for Lua 的东西,我不确定最后一次发布是在 2011 年 1 月,它是 GSL-shell 它利用 GS​​L 库并具有绘图功能,它更像是 matlab 而不是 scipy+matplotlib。

【讨论】:

    【解决方案2】:

    numlua,但由于它依赖于 BLAS/LAPACK、FFTW 和 HDF5,LuaJIT 本身不会为你带来任何性能提升。

    【讨论】:

    • 它甚至可以与 LuaJIT 一起使用吗?就像 numpy 现在不能与 pypy 一起使用,尽管工作正在进行中。luarocks 是否类似于 lua 的包管理器?
    • LuaJIT 与 Lua 5.1 兼容,包括 C 库接口,所以我认为你没有理由不能将 numlua 与 LuaJIT 一起使用
    【解决方案3】:

    我正在创作一个没有依赖的Lugum项目,可以用作共享模块或嵌入在其他C应用程序中。

    它处于主动开发,并用于严重的物理研究。它支持numpy语义的很好的子集。阵列切片将在下一个版本中准备好。

    https://github.com/jzrake/lunum

    【讨论】:

    • 将支持任意下限? span>
    • short:我几乎可以立即提供此功能。你想我做?长期:这是一个很好的问题。 numpy没有,我的一般意图是尽可能坚持numpy行为。然而! Fortran 90在数组上支持任意下限,并从该范例借用听起来非常合理。顺便说一下,我做计算流体动力学,其中阵列上的下限有时希望是负的,以强制实施边界条件的“重影”区域的思想。 span>
    • 我用幽灵区的CFD中的背景是相同的背景,这就是我好奇的原因。我可能不会在不久的将来使用Lua,所以不要为我做出决定。您可能会在终点中使用负面索引,如Python,如果您留在Lua标准计数到1中。我现在甚至考虑用Fortran为我的Fortran写作一个Python ndarray的衍生品:) span>
    • (现在我意识到lua +可能是lugum可能是用户提供的代码部分的好方法。现在我正在尝试方案,但它不是理想的。) span>
    • 我不知道方案,但我可以从Lua一直是一个令人难以置信的科学应用建设工具的经验。与Python不同,您可以完全控制解释器的构建方式,C API非常简单。我的研究代码使用Lua作为一种光荣的配置语言,但随着时间的推移,我对Lua提供了更多的控制,因为我的代码变得更多的LUA扩展。它使用lugum从应用程序内部检索数据并通过HDF5执行后处理和I / O. span>
    【解决方案4】:

    我也想看看SciLua

    基于 LuaJIT 的完整数值计算框架,结合了脚本语言(MATLAB、R、...)的易用性和编译语言(C/C++、Fortran、...)的高性能。

    【讨论】:

      猜你喜欢
      • 2014-09-28
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-01-27
      • 2017-11-03
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多