(n,) 形数组的点积以给出 n × n 数组
dot product of (n,) shaped arrays to give an n by n array
假设您有一个数组 X
,形状为 (n,)
,
import numpy as np
n = 10
X = np.random.rand(n)
并且您想进行以下点积 XX^T (X^T 我的意思是 X).结果应给出一个 n x n 矩阵。但是使用
np.dot(X, X.T)
将给出一个标量。就像它改为 X^T X 一样。除非你做以下事情
X = np.reshape(X, (X.shape[0], 1))
np.dot(X, X.T)
有没有一种无需重塑 numpy 向量的方法?
如果 a 和 b 都是一维数组,numpy.dot(a, b)
returns 向量的内积(没有复共轭)。
您可以改用numpy.outer
函数:
np.outer(X, X)
假设您有一个数组 X
,形状为 (n,)
,
import numpy as np
n = 10
X = np.random.rand(n)
并且您想进行以下点积 XX^T (X^T 我的意思是 X).结果应给出一个 n x n 矩阵。但是使用
np.dot(X, X.T)
将给出一个标量。就像它改为 X^T X 一样。除非你做以下事情
X = np.reshape(X, (X.shape[0], 1))
np.dot(X, X.T)
有没有一种无需重塑 numpy 向量的方法?
如果 a 和 b 都是一维数组,numpy.dot(a, b)
returns 向量的内积(没有复共轭)。
您可以改用numpy.outer
函数:
np.outer(X, X)