我刚开始学习SciPy,并且正在努力使用最基本的功能。SciPy/NumPy中的矢量点积(获取ValueError:对象未对齐)
考虑以下标准的矢量:
In [6]: W=array([[1],[2]])
In [7]: print W
[[1]
[2]]
如果我理解正确的话,这应该是一个标准的2×数学矢量的SciPy的表示,像这样:
的(1)
(2)
点积这个矢量应该简单地是1*1+2*2=5
。但是,这在SciPy中不起作用:
In [16]: dot(W, W)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/home/ingo/<ipython-input-16-961b62a82495> in <module>()
----> 1 dot(W, W)
ValueError: objects are not aligned
请注意下面的工作。如果我没有弄错,这应该是(1 2)
形式的向量。
In [9]: V=array([1,2])
In [10]: print V
[1 2]
In [11]: dot(V, V)
Out[11]: 5
我的误解是什么?我究竟做错了什么?
使用*数组*时,您可以忘记“行”和“列”。注意,当你使用*矩阵时,你需要它。 – astrojuanlu 2012-02-12 16:01:20