Boost logo

Ublas :

Subject: Re: [ublas] Troubles with triangular matrix - vector product
From: Florent Teichteil (florent.teichteil_at_[hidden])
Date: 2012-10-06 04:29:14

Thanks for your response.

> typically calls to trmv assume a dense triangular matrix format(e.g. the
> lower part of a blas::matrix, ignoring the upper part completely), while
> banded matrices are storing their results in a space efficient packed
> format.

OK, so does it mean that all functions of the BLAS bindings (like
trmv) only support dense matrices, i.e. boost::numeric::ublas::matrix?

Is'nt there any way to perform an efficient product of a triangular
(sparse) matrix by a vector? If not, should I understand that we have
to choose between space use and computation time?

> Also your construction of the banded matrix looks strange. according to the
> documentation it says:
> "banded_matrix (size_type size1, size_type size2, size_type lower = 0,
> size_type upper = 0)
> Allocates an uninitialized banded_matrix that holds (lower + 1 + upper)
> diagonals around the main diagonal of a matrix with size1 rows of size2
> elements."
> so you say there is a 1000x1000 matrix with 1000 upper diagonals and 1 main
> diagonal. which would imply a 1001 dimensional matrix. Off by one :)

Well, I'm trying to efficiently store a block upper triangular matrix,
i.e. an upper triangular matrix with an additional diagonal below the
main diagonal. Moreover, I'm not sure to get your point, since there
are generally more diagonals than the dimension of the matrix. In
other terms, there is no contraction to define a 1000x1000 matrix
banded matrix that holds 10001 diagonals. Actually, this is exactly
what I want to represent, isn't it?

> Greetings,
> Oswin