【问题标题】:How do I use GSL in Julia?如何在 Julia 中使用 GSL?
【发布时间】:2017-11-14 05:05:04
【问题描述】:

一般问题是我如何在 Julia 中使用任何非标准库,例如从 C 导出的库,特别是我从 https://www.gnu.org/software/gsl/ 下载了 GNU 科学库,根据 Julia 手册我认为它可以使用,但我从 GSL 文件夹中读取了 INSTALL 文件并尝试按照步骤操作,但是我无法完成他们是因为我不明白一些步骤。

如果有人能给我一些在 Julia 中使用这个库的建议,我将不胜感激。

一些细节。

-操作系统:Windows10 -Julia 版本:0.6

【问题讨论】:

  • 我真的很想熟悉这一点,因为我有一篇关于开发的论文,我想知道如何处理主要从 C 导出的外部库。
  • 通常对于 C/Fortran 库(但在这种特定情况下存在更好的解决方案,如 Lyndon White 的回答),您首先需要安装(如果您的系统不存在预编译版本,甚至编译它) 你系统上的库,然后你可以在 Julia 中使用它。

标签: julia gsl


【解决方案1】:

在一般情况下, 调用编译后的代码是使用ccall

对于 GSL,对于大多数操作,您不应该使用 GSL。 Julia 标准库或维护良好的 Julia 包很好地涵盖了 GSL 提供的(几乎所有)功能。 主要是在纯 julia 中实现。

纯 julia 实现通常基本上与 C/Fortran 实现一样快。 此外,它们还将具有其他出色的功能,例如与优化器配合得很好, 并通过多次调度支持自定义类型 例如,支持双数意味着 ForwardDiff.jl 将本机允许自动微分与它们一起使用。 对于一些代码ducktyping will even let them work with things like TensorFlow.

关于如何安装 GSL,我认为这与如何将 GSL 与 julia 一起使用是一个单独的问题。 不过,如果你处于一个位置,你绝对需要从朱莉娅那里打电话给 GSL, 已经有一个 julia 包裹包裹它了。 GSL.jl 而且特别方便,运行Pkg.add("GSL.jl")时会自动为你下载安装GSL, 所以你不必担心自己安装它。 如果该软件包不适合您,请在他们的 repo 上提出问题。

(Julia 包往往像这样很好,只需安装它们的所有依赖项,这样您就不必摆弄东西了。当大学来找我说“我爱 R库 Foo 但我无法在 Windows 上使用它,因为我无法让 Fortran 后端工作”;我会说“Foo.jl 使用相同的 fortran 后端做同样的事情,它也会自动安装该后端,并且这样做的方式即使在 Windows 上也能正常工作。")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 2021-04-23
    • 1970-01-01
    • 2022-07-29
    • 1970-01-01
    相关资源
    最近更新 更多