Boost LA

Binary Vector/matrix Operations

#include <boost/la/matrix_mul_vector.hpp> 
#include <boost/la/vector_mul_matrix.hpp>

namespace
boost
    {
    namespace
    la
        {
        //*** Binary vector/matrix operations ***
        
        //Only enabled if:
        //  is_matrix<A>::value && is_vector<B>::value &&
        //  matrix_traits<A>::cols==vector_traits<B>::dim
        template <class A,class B>
        typename deduce_vector2<A,B,matrix_traits<A>::rows>::type
        operator*( A const & a, B const & b );        
        
        //Only enabled if:
        //  is_vector<A>::value && is_matrix<B>::value &&
        //  vector_traits<A>::dim==matrix_traits<B>::rows
        template <class A,class B>
        typename deduce_vector2<A,B,matrix_traits<B>::cols>::type
        operator*( A const & a, B const & b );
        }
    }

See also: Boost LA | Synopsis