python - 向量矩阵乘法的标量向量乘法

标签 python arrays numpy matrix-multiplication scalar

是否有 python (numpy) 功能可以完成第三个“方程式”?

将其用作返回的 lambda 函数

<强>1。矢量 * 标量

vector*scalar

import numpy as np
a = np.array([3,4])
b = 2
print(a*b)
>>[6,8]

或作为 lambda 函数:

import numpy as np

def multiply():
  return lambda a,b: a*b

a = np.array([3,4])
b = 2
j = multiply()
print(j(a,b))
>>[6,8]

<强>2。矩阵*向量

matrix*vector

import numpy as np
a = np.array([[3,4],[2,5]])
b = np.array([2,4])
print(a*b)
print()
print(np.multiply(a,b))
print()
print(a.dot(b))
print()
print(b.dot(a))
>>[[ 6 16]
>>[ 4 20]]
>>
>>[[ 6 16]
>>[ 4 20]]
>>
>>[22 24]
>>
>>[14 28]

或作为 lambda 函数:

import numpy as np

def multiply():
  return lambda a,b: a.dot(b)

a = np.array([[3,4],[2,5]])
b = np.array([2,4])
j = multiply()
print(j(a,b))
>>[22 24]

<强>3。矩阵(解释为多个 (2,1)-向量)* 向量(解释为多个标量)或:每行的向量*标量

matrix(many vectors)*vector(many scalars)

import numpy as np
a = np.array([[3,4],[2,5]])
b = np.array([2,4])

see answer by ALI

或作为 lambda 函数:

import numpy as np

def multiply():
  return lambda a,b: ???

a = np.array([[3,4],[2,5]])
b = np.array([2,4])
j = multiply()
print(j(a,b))
>>[[6,8],
>>[8,20]]

最佳答案

import numpy as np
a = np.array([[3,2], [4, 5]])
b = np.array([2, 4])
c = np.vstack((b, b)).T
d = np.multiply(a,c)
print(d)


array([[ 6,  8],
       [8, 20]])

如果你需要一个函数

def elementwisemult(a, b):
    b = np.vstack((b, b)).T
    d = np.multiply(a,b)
    return d

如果你想使用 lambda 函数:

import numpy as np
a = np.array([[3,4],[2,5]])
b = np.array([2,4])
def elementwisemult():
    return lambda a, b: np.multiply(a, (np.vstack((b, b)).T))
j = elementwisemult()
j(a,b)

关于python - 向量矩阵乘法的标量向量乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58955146/

相关文章:

Python 脚本在 Windows 中输出字典数据,但在 Linux 中不输出

python - 在 Mac 终端中使用 Python 和 Vim

java - 如何将未知数量的身份添加到最大数量的列表中

javascript - 过期后设置字段(MongoDB)

python - 我尝试在矩阵单元格上执行加法操作时发生溢出警告

python - 在不影响绘图的情况下更改刻度标签

python - 单词A和B的语义相似度 : Dependency on frequency of A and B in corpus?

python - 在XGB中使用F分数

arrays - MongoDB 查找精确的数组匹配,但顺序无关紧要

Python Numpy 数组比列表慢(更慢)