Boost logo

Ublas :

From: Karl Meerbergen (Karl.Meerbergen_at_[hidden])
Date: 2005-03-21 05:20:51

On Thursday 03 March 2005 11:57, Andreas Klöckner wrote:
> It seems that this subroutine has an even bigger problem that
> overshadows the first one: It is trying to write to the
> compressed_matrix which it is trying to reflect--and that fails (inside
> std::fill()). I assume a fully-built-up index1 array is a requirement of
> the bindings library (for example in the UMFPACK mapping? just
> guessing). What would be the most suitable way to achieve this
> requirement from the UBlas side? Should this be made an innate invariant
> of compressed_matrix? Should there be a method
> compressed_matrix<>::complete_index1_array()? What else would you
> suggest? (I'm slightly biased towards the innate invariant, I must say.)
> Andreas

Perhaps, we should not allow to bind a compressed_matrix that is not fully
built up. For Direct solvers codes, this makes sense, because if there is a
row or column without elements, the matrix is singular.

In this situation, we only assert on the completeness of the matrix, rather
than modifying it.