内積(v^t v)や行列の積はndarrayのdotメソッドでできるが、外積(v v^t)はどうやってやるんだろう…それらしきメソッドがないなぁ…と思ったらouterって関数があった。めでたしめでたし。
In [833]: array([1, 2, 3])
Out[833]: array([1, 2, 3])
In [834]: v = _
In [835]: v.dot(v)
Out[835]: 14
In [836]: outer(v, v)
Out[836]:
array([[1, 2, 3],
[2, 4, 6],
[3, 6, 9]])