【发布时间】:2017-11-18 07:12:05
【问题描述】:
我是 numpy 的新手, 因此,使用 numpy,是否可以使用矩阵向量来获得向量矩阵" 例如:
matrix1(
[
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]
])
matrix2(
[
[2, 4, 6],
[2, 4, 6],
[2, 4, 6]
])
-->
matrix(
[
[array('1 2'), array('2 4'), array('3 6')],
[array('1 2'), array('2 4'), array('3 6')],
[array('1 2'), array('2 4'), array('3 6')]
])
我是 numpy 的新手,所以我不确定是否允许在 numpy 的矩阵中放入任何东西或只是数字。 而且用“向量矩阵和矩阵向量”之类的描述从谷歌得到答案并不容易
【问题讨论】:
-
你确定你想要一个实际的 NumPy matrix 而不是 2d 或 3d
np.ndarray?主要区别在于 NumPy 矩阵的乘法遵循通常的线性代数规则,而如果将两个兼容形状的 2d ndarray 相乘,则会得到元素乘法。如果你不做线性代数,你几乎肯定想要一个 ndarray 而不是矩阵。 -
您要解决的更大的问题是什么?您可以做很多与此大致相似的事情,但我怀疑这不是要问的正确问题。部分困难在于 numpy 没有与“矩阵”分开的“向量”概念。它确实有“矩阵”和“数组”的不同概念,但大多数人完全避免使用矩阵表示。如果使用数组,“向量”、“矩阵”和“张量”的概念都包含在数组“形状”属性的一般概念下。
-
@MarkDickinson 我正在尝试按元素进行线性代数。也就是说,对于最终矩阵的一个元素,例如。 array('1 2') ,我想将它乘以一个矩阵('1 0,0 1') 并将其乘以另一个数组,例如 transpose(array('1 2'))
-
@senderle 我正在尝试用 numpy 做一些线性代数。还在学习中
标签: python numpy matrix vector