diff --git a/cpp/Matrix.h b/cpp/Matrix.h index ce7527626..a245a1d06 100644 --- a/cpp/Matrix.h +++ b/cpp/Matrix.h @@ -83,6 +83,14 @@ inline Vector operator*(const Matrix& A, const Vector & v) { return Vector(prod(A,v)); } +/** + * overload * for vector*matrix multiplication (as BOOST does not) + */ +inline Vector operator*(const Vector & v, const Matrix& A) { + if (A.size1()!=v.size()) throw(std::invalid_argument("Matrix operator* : A.m!=v.size")); + return Vector(prod(v,A)); +} + /** * overload * for matrix multiplication (as BOOST does not) */