此矩阵运算的正式名称(将矩阵列乘以列向量)?

Posted

技术标签:

【中文标题】此矩阵运算的正式名称(将矩阵列乘以列向量)?【英文标题】:Formal name for this matrix operation (multiplying matrix columns by column vector)? 【发布时间】:2015-05-20 03:07:08 【问题描述】:

我编写了以下 Python/Pandas 代码,将 M 行 x N col 数据帧 (A) 的每一列乘以 M x 1 数据帧 (b) 以产生 M x N 数据帧 C:

def multiply_columns(A, b):
    C = pd.DataFrame(A.values * b.values, columns=A.columns, index=b.index)
    return C

换句话说,它将矩阵的每一列乘以一个等长的列向量。

代码运行良好,但我想不起这个操作的正式名称。想法?

【问题讨论】:

【参考方案1】:

它被称为“广播”。请参阅numpy 的相关文档:Broadcasting。

另外,重要的是要注意A.valuesb.values 不是矩阵,它们是数组。这似乎是一个小细节,但它非常重要。许多对矩阵的数学运算产生的结果与它们对数组的相应运算完全不同。因此,例如,M1*M2 是矩阵的矩阵乘积,而它是数组的逐元素乘法。在This answer 中查看更多详细信息。

【讨论】:

以上是关于此矩阵运算的正式名称(将矩阵列乘以列向量)?的主要内容,如果未能解决你的问题,请参考以下文章

矩阵与向量的乘积

线性代数基础知识.md

一个矩阵乘以一个向量有啥几何意义,麻烦说详细一点!

向量乘矩阵表示啥?

矩阵的乘法运算

如何理解矩阵相乘的几何意义或现实意义