【发布时间】:2015-06-21 15:26:35
【问题描述】:
我很高兴得知 Julia 允许用一种非常简洁的方式来形成内积:
julia> x = [1;0]; y = [0;1];
julia> x'y
1-element Array{Int64,1}:
0
dot(x,y) 的替代方案很好,但它可能会带来惊喜:
julia> @printf "Inner product = %f\n" x'y
Inner product = ERROR: type: non-boolean (Array{Bool,1}) used in boolean context
julia> @printf "Inner product = %f\n" dot(x,y)
Inner product = 0.000000
所以虽然我想写x'y,但似乎最好避免它,否则我需要注意与标量与 1×1 矩阵相关的陷阱。
但我是 Julia 的新手,可能我的想法不正确。其他人是否使用dot 的这种简洁替代方法,如果使用,何时可以安全使用?
【问题讨论】:
-
不清楚您需要(或不需要)什么以及您愿意牺牲什么,所以我没有发布答案:您可以使用
⋅operator 而不是@987654329 @。您还可以declare 期望变量/返回函数的类型:x=[0;1]::Array{Float64,1}
标签: julia