julia:外部产品功能

时间:2017-06-16 14:13:26

标签: r julia

R中,函数outer在结构上允许您获取两个向量xy的外积,同时为实际应用的函数提供了多个选项到每个组合。例如,outer(x,y,'-')创建xy之间元素差异的“外部产品”矩阵。朱莉娅有类似的东西吗?

1 个答案:

答案 0 :(得分:7)

广播是在添加.时发生的Julia操作。当两个容器具有相同的尺寸时,它是元件操作。示例:如果x.*ysize(x)==size(y)是元素方面的。但是,当形状不匹配时,广播才真正生效。如果其中一个是行向量而其中一个是列向量,则输出将为2D,out[i,j]匹配{0}行的i行与j行向量。这意味着x .* y是编写外部产品的一种特殊方式,如果一行和另一行是列向量。

一般来说,广播正在做的是:

  

当尺寸变大时,这是浪费的,因此Julia提供了broadcast(),它扩展了数组参数中的单个维度,以匹配其他数组中的相应维度,而不使用额外的内存

(这是来自the Julia Manual

但是这推广到所有其他二元运算符,因此x .- y'是您正在寻找的。