Boost logo

Ublas :

From: Gunter Winkler (guwi17_at_[hidden])
Date: 2007-05-01 07:09:49


Am Montag, 30. April 2007 18:05 schrieb Prasad Ramanan:
> ublas::permutation_matrix<double> P(n);

this should be a permutation_matrix< int >

> I have since upgraded to boost 1-33.1 (downloaded from
> SourceForge.net), but I still require the includes suggested by
> Gunter in order to get the code to compile, although he had suggested
> that I would no longer need them after upgrading to 1-33.

Maybe the change was after the release of 1.33. The current CVS-Head
compiles without the extra includes.

> Once the
> code is compiled, I get a runtime error caused by the lu_substitute
> method while running:
>
> Assertion failed in file
> c:\boost\include\boost-1_33_1\boost/numeric/ublas/lu.hpp at line 271:
> detail::expression_type_check (prod
> (triangular_adaptor<const_matrix_type, upper> (m), e), cv2)

This happens typically when the matrix is ill conditioned or nearly
singular. Please look at
http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_UBLAS
for a description of the TYPE_CHECK and TYPE_CHECK_EPSILON macros. Try
this:

#define BOOST_UBLAS_TYPE_CHECK_EPSILON 1.0
(in front of ublas/config.hpp)

mfg
Gunter