你是否有使用Python(NumPy)功能可以完成第三个“方程”?
将其用作返回的lambda函数。
1. 向量*标量
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. 矩阵 * 向量
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)向量)*向量(解释为许多标量)或:对于每行进行向量*标量的运算
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]]