问题标签 [julia]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
benchmarking - Julia 语言真的像它声称的那样快吗?
在这篇文章之后,我决定将 Julia 与 GNU Octave 进行基准测试,结果与julialang.org中说明的加速不一致。
我用 编译了 Julia 和 GNU Octave CXXFLAGS='-std=c++11 -O3'
,得到的结果是:
GNU 八度
--
朱莉娅
--
有人可以解释为什么 Julia 在这些基本操作上比 GNU Octave 慢吗?加热后,它应该调用 LAPACK/BLAS 没有开销,对吧?
编辑:
正如评论和答案中所解释的,上面的代码不是一个好的基准,也不是说明在实际应用程序中使用该语言的好处。我曾经认为 Julia 是一个更快的“Octave/MATLAB”,但它远不止于此。这是朝着高效、高性能、科学计算迈出的一大步。通过使用 Julia,我能够 1) 在我的研究领域中使用 Fortran 和 C++ 编写的软件表现出色,并且 2) 为用户提供更好的 API。
julia - 如何描述和格式化打印等效项
我正在学习 Julia,将其用作 R 和 Python 的替代品。
我有一个 Python 语句:
并且正在使用
我很喜欢这个,但有更简单的方法吗?
与 Python 类似,我可以使用 df.describe() 获得数据帧统计信息的摘要 (R)。Julia 中是否有等价物?
julia - 使用 `contains` 函数从 Julia 数据帧中进行选择
我有一个df
名为“cond”的列的 DataFrame。此列中的值之一是“aer”。要使用 cond == "aer" 选择所有行,此代码有效:
但这并不
它失败并出现错误:
错误:在 /Users/seanmackesey/.julia/DataFrames/src/dataframe.jl:1020 中的 /Users/seanmackesey/.julia/DataFrames/src/dataframe.jl:1007 中的子数据帧中的所有子数据帧索引必须 > 0在 /Users/seanmackesey/.julia/DataFrames/src/dataframe.jl:1031 处选择
我查看了源代码,但无法理解这里发生了什么。我可以在这样的表达式谓词中添加什么的一般限制是什么?
julia - Julia 中的多维数组理解
我正在和 Julia 混在一起,似乎无法让多维数组理解起作用。我正在为 OSX 使用 0.20-pre 的每晚版本;可以想象,这可能是构建中的错误。但是,我怀疑这是用户的错误。
可以说我想结束类似的事情:
而且我不想只是打电话reshape
。据我所知,应该生成一个多维数组,例如:[(x, y) for x in 1:5, y in 6:10]
. 但这会生成一个 5x5 元组数组:
或者,也许我想为每个值生成一组值和一个布尔代码:
同样,我似乎只能用{(x, y) for x in 1:5, y=false}
. 如果我删除周围的括号,x, y
我会得到ERROR: syntax: missing separator in array expression
. 如果我包装x, y
一些东西,我总是会得到那种输出—— Array
、、Array{Any}
或Tuple
。
我的猜测:有些东西我只是不明白。有人愿意帮助我理解什么吗?
ipython - 无法打开 IJulia;而是启动 IPython
如何在浏览器中使用 IJulia?
当我开始通过ipython notebook --profile julia
在终端上执行打开它时,我的浏览器会打开一个新窗口 - 但是,它是 IPython 笔记本,而不是 IJulia 笔记本。
为什么它显示 IPython?供您参考,我使用 Python 2.7.5 和 iPython 1.1,而 Julia 使用 0.2.0。此外,当我尝试运行时Pkg.add("IJulia")
,INFO: Nothing to be done.
显示在我的屏幕上。
julia - 在 Julia 中初始化一个空的元组数组
我不知道如何初始化一个空的元组数组。手册说:
值元组的类型是值类型的元组......因此,类型元组可以在任何需要类型的地方使用。
然而这不起作用:
但这确实:
在空方括号前面似乎需要一个类型,但元组类型不起作用。这种<type>[]
语法是我能找到的获得空类型数组的唯一方法(其他方法似乎会产生一堆#undef
值)。是唯一的方法吗,如果是,我怎样才能输入带有元组的数组?
顺便说一句,我的用例是创建一个最初不确定长度的数组,并在循环中将元组推到它上面。
mysql - 连接到 MySQL 数据库并在 Julia 中获取数据
如何从 Julia 中的 MySQL 数据库中获取数据?
看起来这个包提供了连接任何数据库的工具,包括 MySQL。但是,看起来我必须先设置 ODBC DSN 才能连接到它(我一开始不知道它是什么,尽管我已经使用 MySQL 两年了)。所以我尝试通过阅读MySQL 文档中的这个页面来配置它......但立即碰壁。
一,我找不到myodbc-installer
在我的 OS X 10.8.5 中命名的命令。二,没有这样的应用程序ODBC Administrator
,而是ODBC manager
在我的系统中有 - 所以我认为文档太过时了......对吗?
此外,即使我打开ODBC manager
并尝试单击Add
选项卡,屏幕上User DSN
也没有检测到。driver
那么如何在 Julia 中配置 ODBC DSN 并使用 MySQL 呢?
另外,我是否必须处理如此繁琐的设置过程?我想使用一个包(如果有的话),它与RMySQL
R 中的包一样直观且易于使用,这不会迫使我关心 DSN - Julia 中有任何这样的包吗?
我在 Julia 的 0.2.0-rc 上,并且已经通过Pkg.add("ODBC")
. MySQL 版本是 5.3.6,通过 MAMP 安装。
谢谢。
julia - 就地更新函数参数
我需要对可变数量的数组有效地实现笛卡尔积。
我已经尝试过product
from 的功能Iterators.jl
,但性能欠佳。
我是一名 python 黑客,使用了 sklearn 的这个功能,并获得了良好的性能结果。
我曾尝试编写此函数的 Julia 版本,但无法产生与 python 函数相同的结果。
我的代码是:
我用以下方法测试它:
返回值为:
我相信这里的问题是当我使用这一行时:cartesian(arrs[2:], out=out[1:m, 2:])
关键字参数out
没有在递归调用中就地更新。
可以看出,我对这个函数的 Python 版本做了一个非常天真的翻译(见上面的链接)。很可能存在内部语言差异,使天真的翻译变得不可能。我不认为这是真的,因为来自 julia 文档的函数部分的引用:
Julia 函数参数遵循有时称为“传递共享”的约定,这意味着值在传递给函数时不会被复制。函数参数本身充当新的变量绑定(可以引用值的新位置),但它们引用的值与传递的值相同。在函数内对可变值(例如数组)所做的修改将对调用者可见。这与 Scheme、大多数 Lisps、Python、Ruby 和 Perl 以及其他动态语言中的行为相同。
我怎样才能使这个(或等效的)函数在 Julia 中工作?
keyboard - 朱莉娅键盘中断
我如何用键盘打断 Julia 命令?我在终端界面中运行它。例如,在 Python 中,IDLE 允许我按 键在while True
循环中抛出错误ctrl-C
。我希望能够在 Julia 中做同样的事情。谢谢!
ipython - IJulia 图未显示在浏览器中
我现在正在玩 IJulia,并且刚刚尝试使用 IJulia 在 MIT 的课程 Github 页面中做与本教程相同的事情(我不是 MIT 的学生,但我确信这在这里无关紧要),但是当我试图绘制图形,屏幕上没有显示图形,而是
Out[3]:
PyObject <matplotlib.text.Text object at 0x1185edf10>
显示出来。在 IPython notebook 中,您可以通过启动 notebook 来避免这个问题ipython notebook --pylab inline
。但是,IJulia notebook 中似乎不需要这样的参数,因为默认情况下会内联绘制这些图形。
那么为什么它没有显示在我的浏览器中?我该如何解决?
我在 OS X 10.9 和 Julia 0.2.0 上,据我所知,与 Julia 和 IJulia 相关的所有其他功能都运行良好。
谢谢。