guwi17_at_[hidden] wrote:

>BTW. I would not expect a big difference between a banded matrix with
>compile time known bandwidth compared to the current implementation. I
>still wait for someone who proves the opposite ;-)

I've implemented banded_c_matrix.hpp, with compile time UPPER and LOWER, and your expectations were right: banded_c_matrix for LOWER = UPPER = 0 (extreme case) is as fast as (or marginally better than) a diagonal_matrix (from banded.hpp).

I suppose I cannot expect that the matrix_assign_* implementations for a packed matrix can take advantage of compile-time knowledge of the bandwidth size.

ublas users: anyone has useful advice on achieving optimal performance when using diagonal matrices?
Any hint will be appreciated.

ublas developers: any plan on having a packed_c_tag representing compile-time knowledge of bandwidth size, and accompanying specialized algorithms?

Thanks in advance for your answers.