繁体   English   中英

矩阵x向量的按列标量乘法

[英]Column wise scalar multiplication of matrix x vector

基本上,我想对矩阵A和向量B进行按列的标量乘法。矩阵A的每一列都乘以向量B中的对应值。我有一个类似的方法。

def scale_matrix(self, matrix, vector):
    """
    Performs scalar multiplication of matrix and vector column wise
    """
    for value, index in enumerate(vector):
        matrix[:, index] *= value
    return matrix

我在代码的其他地方使用了numpy,我想知道是否可以仅使用numpy来实现?

如果矩阵是MxN numpy array ,向量是N向量,则只需

matrix * vector

要么

matrix *= vector

如果您想要就地。

请注意,如果矩阵或向量属于np.matrix类,则此方法将无效。 它必须是np.ndarray

说明:根据numpy广播规则,如果操作数的长度形状不同,则较短的操作数将在左侧填充。 这导致形状为(M,N)和(1,N)。 广播1-轴,即沿该轴即时重复值以匹配其他操作数的形状

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM