orocos / orocos-bayesian-filtering

The orocos Bayesian Filtering Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Matrix * SymmetricMatrix not defined for boost matrix wrapper

toeklk opened this issue · comments

migrated from Bugzilla #445
status NEW severity normal in component wrappers for 0.7.0
Reported in version trunk on platform All
Assigned to: BFL mailinglist

On 2007-08-10 10:25:13 +0200, Tinne De Laet wrote:

  While extending the matrixwrapper test I noticed that although the product of a matrix with a symmetric matrix is not implemented (as far as I can see), the call doesn't result in an error during compilation nor execution when using LTI The test I used is: Matrix Csm_test = Am * As; where Am is a Matrix and As a SymmetricMatrix. The error I got during compilation with BOOST is: _________________________________________________ /home/fiep/bfl/tests/matrixwrapper_test.cpp: In member function �void MatrixwrapperTest::testMatrixwrapperValue()�: /home/fiep/bfl/tests/matrixwrapper_test.cpp:406: error: ambiguous overload for �operator*� in �Am * As� /usr/include/boost/numeric/ublas/matrix_expression.hpp:3228: note: candidates are: typename boost::numeric::ublas::matrix_binary_scalar2_traits(E1, const T2, boost::numeric::ublas::scalar_multiplies(typename E1::value_type, T2) )::result_type boost::numeric::ublas::operator*(const boost::numeric::ublas::matrix_expression(E)ampersand, const T2ampersand) [with E1 = boost::numeric::ublas::matrix(double, boost::numeric::ublas::basic_row_major(unsigned int, int), boost::numeric::ublas::unbounded_array(double, std::allocator(double) ) ), T2 = MatrixWrapper::SymmetricMatrix] /usr/include/boost/numeric/ublas/matrix_expression.hpp:2803: note: typename boost::numeric::ublas::matrix_binary_scalar1_traits(const T1, E2, boost::numeric::ublas::scalar_multiplies(T1, typename E2::value_type) )::result_type boost::numeric::ublas::operator*(const T1ampersand, const boost::numeric::ublas::matrix_expression(E2)ampersand) [with T1 = MatrixWrapper::Matrix, E2 = boost::numeric::ublas::symmetric_matrix(double, boost::numeric::ublas::basic_lower(unsigned int), boost::numeric::ublas::basic_row_major(unsigned int, int), boost::numeric::ublas::unbounded_array(double, std::allocator(double) ) )] make[2]: *** [tests/CMakeFiles/test_matrixwrapper.dir/matrixwrapper_test.o] Error 1 make[1]: *** [tests/CMakeFiles/test_matrixwrapper.dir/all] Error 2 make: *** [all] Error 2 _________________________________________________

Cannot reproduce this with eigen, so it seems to be boost specific