【发布时间】:2022-10-13 23:01:41
【问题描述】:
让我们考虑两个变量 f(x1, x2) 的函数,其中 x1 跨越向量 v1 和 x2 跨越向量 v2。
如果f(x1, x2) = np.exp(x1, x2),我们可以在 Python 中通过命令 numpy.meshgrid 将这个函数表示为一个矩阵,如下所示:
xx, yy = numpy.meshgrid(v1, v2)
M = numpy.exp(xx + yy)
这样,M 是函数f 在笛卡尔积“v1 x v2”上的表示,因为M[i,j] = f(v1[i],v2[j])。
但这是可行的,因为总和和指数都以并行方式工作。我的问题是:
如果我的变量是x = numpy.array([x1, x2]) 并且f 是二次函数f(x) = x.T @ np.dot(Q, x),其中Q 是一个2x2 矩阵,我怎样才能对meshgrid 函数做同样的事情(即计算函数f on “v1 x v2”一次)?
如果我应该包括更多细节,请告诉我!
【问题讨论】:
-
np.exp(x1, x2)?numpy.exp(xx + yy)?哪一个? -
当您可以使用广播时,您为什么使用
meshgrid?
标签: python numpy optimization linear-algebra tensor