Boost logo

Ublas :

Subject: Re: [ublas] Banded matrix storage
From: pmamales_at_[hidden]
Date: 2013-08-01 17:37:05


Naso,
No problem, just wanted to make sure that I don't do something wrong.

In case it makes sense :
>From a quick look, it seems to me that one should replace the packed storage with banded.
This is in accordance with netlib nomenclature, but I guess would break all shorts (mine included ;) )
traits code.

---- Nasos Iliopoulos <nasos_i_at_[hidden]> wrote:
> To all:
> it would be of great help if at least another pair of eyes can review
> the code before it moves forward into an official release. Here is the
> github branch:
>
> modified test cases (added non square matrices):
> https://github.com/uBLAS/ublas/blob/ublas_bugfix0002_fix_banded_tc7549/test/test_banded_storage_layout.cpp
>
> and modified banded.hpp:
> https://github.com/uBLAS/ublas/blob/ublas_bugfix0002_fix_banded_tc7549/include/boost/numeric/ublas/banded.hpp
>
> relevant lines are 25-56 and and anything that contains the
> "banded_indexing" specializations.
>
> One important change I made relatively to the old code is that I
> enabled range checking only in debug builds (where appropriate).
>
> Please also note that I didn't follow Gunter's suggestion on adding a
> new template argument, since I felt it would break backwards
> compatibility in certain cases.
> (https://svn.boost.org/trac/boost/ticket/7549)
>
>
> test instructions (not final but they should work):
> https://github.com/uBLAS/ublas/wiki
> please do a git checkout ublas_bugfix0002_fix_banded_tc7549 prior to
> compiling with b2 otherwise you will be compiling the master branch.
>
> I will megre it into ublas_develop after 1-2months so that there is
> enough time for review and maybe apply some minor modifications I have
> in mind.
>
> On 08/01/2013 01:05 PM, pmamales_at_[hidden] wrote:
> > PS: Although I asked a very-related question, I did not see any answer, so I thought it was ignored as
> > trivial/already answered elsewhere. However, I did receive these very relevant emails. Am I doing something wrong ?
> Petro,
> Gunter had created some test cases and a bug report on boost trac, so I
> figured it would help the discussion more to answer to that thread. I
> restrained myself flooding the mailing list with responses, since yours
> was just around the corner.
>
> Best,
> Nasos
> > ---- Rutger ter Borg <rutger_at_[hidden]> wrote:
> >> On 2013-07-31 17:22, Nasos Iliopoulos wrote:
> >>> Gunter,
> >>> I am working on this bug, but based on the test case I am wondering why
> >>> should the expected row-major data layout be:
> >>>
> >>> 0, 0, 11, 12, 0, 21, 22, 23, 31, 32, 33, 34, 42, 43, 44, 45, 53, 54, 55, 0
> >>>
> >>> And not
> >>>
> >>> 0, 12, 23, 34, 45, 11, 22, 33, 44, 55, 21, 32, 43, 54, 0, 31, 42, 53, 0, 0 ?
> >>>
> >>> For the moment I got the column-major implementation working as
> >>> expected, but I need to add some more tests cases to make sure it is
> >>> working for non-square matrices as well.
> >>>
> >>> Regards,
> >>>
> >>> -Nasos
> >>>
> >>
> >> Hey Nasos,
> >>
> >> great work. The data in banded matrices is stored either row-by-row
> >> (row-major), or column-by-column (column-major). This is defined by
> >> netlib. AFAIK, a diagonal-by-diagonal storage scheme is not supported by
> >> CBLAS.
> >>
> >> Cheers,
> >>
> >> Rutger
> >>
> >>
> >>
> >> _______________________________________________
> >> ublas mailing list
> >> ublas_at_[hidden]
> >> http://lists.boost.org/mailman/listinfo.cgi/ublas
> >> Sent to: pmamales_at_[hidden]
> > _______________________________________________
> > ublas mailing list
> > ublas_at_[hidden]
> > http://lists.boost.org/mailman/listinfo.cgi/ublas
> > Sent to: athanasios.iliopoulos.ctr.gr_at_[hidden]
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: pmamales_at_[hidden]