Точечное произведение вектора в SciPy / NumPy (получение ValueError: объекты не выровнены)

Я только начал изучать SciPy и борюсь с самыми основными функциями.

Рассмотрим следующий стандартный вектор:

In [6]: W=array([[1],[2]])

In [7]: print W
[[1]
 [2]]

Если я правильно понимаю, это должно быть SciPy-представление стандартного математического вектора 2x1, например:

(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

В чем мое заблуждение? Что я делаю не так?

14
задан KobeJohn 11 March 2014 в 00:24
поделиться