【问题标题】:Component-wise Product of all Column Combinations of two Matrices两个矩阵的所有列组合的分量乘积
【发布时间】:2019-08-30 13:47:01
【问题描述】:

正如标题所说,我想计算两个矩阵的所有列组合的分量乘积。我已经找到了使用numpy.einsumnumpy.hstack 的解决方案。不知道有没有没有hstack的解决方案。

a = [a_1, a_2, ..., a_n]d x n 矩阵,b = [b_1, b_2, ..., b_m]d x m 矩阵。我要计算

[a_1b_1, a_1b_2, ..., a_nb_{n-1}, a_nb_n],

其中a_kb_l 是组件明智的产品,即a_kb_l = [a_{1,k}*b{1,l}, ..., a_{d,k}*b{d,l}].T

我的解决方案如下。 np.hstack(np.einsum('...j,...l -> j...l', a, b))

我可以不用h_stack吗?

【问题讨论】:

    标签: numpy array-broadcasting numpy-einsum hstack


    【解决方案1】:

    以下改进将hstack 替换为reshape 的调用。当d 很高时,这会释放相当多的内存压力。

    np.einsum('...j,...l -> ...jl', a, b).reshape(d, -1)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      相关资源
      最近更新 更多