我很高兴地得知,朱莉娅允许精美简洁的方式来形成内产品:形成内在产品的最佳方式是什么?
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矩阵有关的陷阱。
但我是新来的朱莉娅,可能我没有以正确的方式思考。其他人是否使用dot
这个简洁的替代方案?如果是,那么何时可以安全使用?
这不是很清楚你所需要的(或没有),你是什么愿意牺牲,所以我不张贴一个答案: 您可以使用['⋅'运营商( http://julia.readthedocs.org/en/latest/stdlib/linalg/#Base.⋅)而不是'dot'。你也可以[声明](http://julia.readthedocs.org/en/latest/manual/types/#type-declarations)你对变量/返回函数的期望类型:'x = [0; 1]: :Array {Float64,1}' –