Boost logo

Ublas :

Subject: Re: [ublas] todo list
From: Matwey V. Kornilov (matwey.kornilov_at_[hidden])
Date: 2010-07-24 17:08:42


Not the full list but the problems that were already mentioned.

1.a. Interfaces. IMO the first approach is to implement a set of most
common-used forms and the second one is to implement general and complex
form that can be tuned in different ways by means of meta-template magic.

1.b. Types handling. For instance: a singular matrix is diagonal, should we
use banded_matrix<T> as return type?

2. Preconditions handling and error handling. Some of preconditions are pure
mathematical (for instance: positive definiteness or orthogonal property)
and we can't check them directly. We need a way to handle errors which are
raised during running an algorithm.

3. Rounding errors handling. For instance: matrices with bad pseudo-rank.
Imagine that your program have to make decision based on the rank of matrix
but it can't due to rounding errors.

I think the initial positive definiteness can be violated by rounding errors
in Cholesky decomposition. Then we get an runtime error where it shouldn't
be. (?)

Nasos Iliopoulos wrote:
>
> Matwey is very true on both of those and we need to have some discussions.
> Do you think you can compile a list of items that need to be addressed so
> that we can be ahead of the problems to come?