Numpy 向量化

Numpy Vectorization

假设我有一个形状为 (10,) 的向量 A;形状为 (20,) 的向量 B;形状为 (10,20) 的矩阵 C。我想计算形状为 (10,20) 的矩阵 D,使得:

A = np.ones((10))
B = np.ones((20))
C = np.ones((10,20))
D = (np.log(B/A) + C**2*B)/(C*np.sqrt(B))

如何向量化这样的方程?

应该这样做:

import numpy as np


A = np.ones((10, 1))
B = np.ones((1, 20))
C = np.ones((10,20))
D = (np.log(B/A) + C**2*B)/(C*np.sqrt(B))