I get the
error at the end of this email compiling this code with MVC++ 7.1 and boost
1.33.1:
==== code
=====
boost::numeric::ublas::matrix< float >
triangular( 3, 3 );
boost::numeric::ublas::vector<float> b( 3 );
const int singular = boost::numeric::ublas::lu_factorize( triangular );
if( singular == 0 )
{
boost::numeric::ublas::lu_substitute( triangular, b
);
}
======
it would seem that
the two definitions at lines 257 and 316 conflict. when I comment out the
definition starting at line 316 it all works fine. Am I doing something
wrong?
==== compiler error
======
linalg.cpp(29) : error C2666:
'boost::numeric::ublas::lu_substitute' : 2 overloads have similar
conversions
C:\Program
Files\boost\boost\numeric\ublas\lu.hpp(257): could be 'void
boost::numeric::ublas::lu_substitute<boost::numeric::ublas::matrix<T>,C>(const
M &,boost::numeric::ublas::vector_expression<E> &)'
with
[
T=float,
C=boost::numeric::ublas::vector<float>,
M=boost::numeric::ublas::matrix<float>,
E=boost::numeric::ublas::vector<float>
]
C:\Program
Files\boost\boost\numeric\ublas\lu.hpp(316): or 'void
boost::numeric::ublas::lu_substitute<C,boost::numeric::ublas::vector<T>>(boost::numeric::ublas::matrix_expression<E>
&,const M &)'
with
[
C=boost::numeric::ublas::matrix<float>,
T=float,
E=boost::numeric::ublas::matrix<float>,
M=boost::numeric::ublas::vector<float>
]
while trying to match the argument list
'(boost::numeric::ublas::matrix<T>,
boost::numeric::ublas::vector<T>)'
with
[
T=float
]
and
[
T=float
]