From 81ce0bef8890f75b71f19b3d4ec7c12646dddee8 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Thu, 10 Dec 2009 20:16:40 +0000 Subject: [PATCH] New operator for left-multiplication of vector --- cpp/Matrix.h | 8 ++++++++ 1 file changed, 8 insertions(+) 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) */