我如何在 Julia 中使用 GSL?
How do I use GSL in Julia?
一般的问题是我如何在 Julia 中使用任何非标准库,例如从 C 导出的库,特别是我从 https://www.gnu.org/software/gsl/ 下载了 GNU 科学库,根据 Julia 手册我认为它可以使用,但我从 GSL 文件夹中读取了 INSTALL 文件并尝试按照步骤操作,但是我可以没有完成它们,因为我不明白一些步骤。
如果有人能给我一些建议,让我在 Julia 中使用这个库,我将不胜感激。
一些细节。
-OS: Windows10
-朱莉娅版本:0.6
一般情况下,
使用 ccall
调用编译代码
对于 GSL,对于大多数操作,您不应该使用 GSL。
GSL 提供的(几乎所有)功能都被 Julia 标准库或维护良好的 julia 包很好地涵盖了。
主要是在纯 julia 中实现。
纯 julia 实现通常基本上与 C/Fortran 实现一样快。
此外,它们还将具有其他良好的功能,例如与优化器配合良好,
并通过多重分派支持自定义类型
例如,支持 Dual numbers 意味着 ForwardDiff.jl 本身将允许 Auto differentiation 与它们一起使用。
对于某些代码 ducktyping will even let them work with things like TensorFlow..
至于如何安装 GSL,我认为这与如何将 GSL 与 julia 一起使用是一个单独的问题。
不过,方便的是,如果你处于一个位置,你绝对需要从 julia 调用 GSL,
已经有一个 julia 包裹包装它。 GSL.jl
而且特别方便的是,当你运行Pkg.add("GSL.jl")
,它会自动为你下载并安装GSL,
所以你不必担心自己安装它。
如果该软件包不适合您,请在他们的回购协议中提出问题。
(Julia 包往往是那样的好,只需安装它们的所有依赖项,这样你就不必 fiddle 处理这些东西。大学来了几次,我印象深刻我说 "I love R library Foo but I can't using it on windows as I can't get the Fortran backend to work"; 我会像 "Foo.jl does the same thing using the same fortran backend, also it automatically installs that backend, and does so in a way that just works even on windows.")
一般的问题是我如何在 Julia 中使用任何非标准库,例如从 C 导出的库,特别是我从 https://www.gnu.org/software/gsl/ 下载了 GNU 科学库,根据 Julia 手册我认为它可以使用,但我从 GSL 文件夹中读取了 INSTALL 文件并尝试按照步骤操作,但是我可以没有完成它们,因为我不明白一些步骤。
如果有人能给我一些建议,让我在 Julia 中使用这个库,我将不胜感激。
一些细节。
-OS: Windows10 -朱莉娅版本:0.6
一般情况下,
使用 ccall
对于 GSL,对于大多数操作,您不应该使用 GSL。 GSL 提供的(几乎所有)功能都被 Julia 标准库或维护良好的 julia 包很好地涵盖了。 主要是在纯 julia 中实现。
纯 julia 实现通常基本上与 C/Fortran 实现一样快。 此外,它们还将具有其他良好的功能,例如与优化器配合良好, 并通过多重分派支持自定义类型 例如,支持 Dual numbers 意味着 ForwardDiff.jl 本身将允许 Auto differentiation 与它们一起使用。 对于某些代码 ducktyping will even let them work with things like TensorFlow..
至于如何安装 GSL,我认为这与如何将 GSL 与 julia 一起使用是一个单独的问题。
不过,方便的是,如果你处于一个位置,你绝对需要从 julia 调用 GSL,
已经有一个 julia 包裹包装它。 GSL.jl
而且特别方便的是,当你运行Pkg.add("GSL.jl")
,它会自动为你下载并安装GSL,
所以你不必担心自己安装它。
如果该软件包不适合您,请在他们的回购协议中提出问题。
(Julia 包往往是那样的好,只需安装它们的所有依赖项,这样你就不必 fiddle 处理这些东西。大学来了几次,我印象深刻我说 "I love R library Foo but I can't using it on windows as I can't get the Fortran backend to work"; 我会像 "Foo.jl does the same thing using the same fortran backend, also it automatically installs that backend, and does so in a way that just works even on windows.")