纽比点和外函数与线性代数一致吗?

2024-06-16 13:27:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我被pythonnumpy上的矩阵运算搞糊涂了。 看起来点和外部运算的行为不像我在线性代数课上学到的那样。在

import numpy
n = numpy.arange(-5, 6)
w = numpy.arange(-20, 21)
n.shape
w.shape
outer = numpy.outer(w, n)
outer.shape
dot = numpy.dot(n, outer.transpose())
dot.shape

这里n是(11,1)矩阵,w是(41,1)矩阵。(1和w的尺寸不匹配。)

再一次,我觉得这个点很奇怪。n是(11,1)矩阵,外部转置()是(11,41)矩阵。我觉得尺寸也不相配。在


Tags: importnumpy尺寸矩阵dotoutertransposeshape
1条回答
网友
1楼 · 发布于 2024-06-16 13:27:48

根据文献http://docs.scipy.org/doc/numpy/reference/generated/numpy.outer.html,两个行向量A(1xn)和{}的{}函数是一个矩阵M(nxm)-并且转置的维数是{}。这正是你所看到的。在

因此,向量和矩阵的点乘在文献中再次被描述:http://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html#numpy.dot-其中它本质上被描述为行向量(第一个参数)与第二个参数(矩阵)的转置的矩阵相乘。在

当我打印出代码创建的各种对象的形状时,我得到:

n.shape:     (11,)
w.shape:     (41,)
outer.shape: (41, 11)h
dot.shape:   (41,)

这和上面的完全一致。你的困惑是什么?什么结果不是你所期望的?在

相关问题 更多 >