Vector products and eigendecomposition test case

The method named `dotProduct` was actually a Hadamard, element pointwise, product (see http://math.stackexchange.com/questions/20412/element-wise-or-pointwise-operations-notation) so I renamed it accordingly.

Deprecated `product` in favour of `innerProduct`.

Added `outerProduct`.

Added a test case for a situation where Eigendecompisition is failing with a sparse symmetric matrix. This matrix is decomposable by Matlab.