Re: [eigen] Diagonal matrices diff

[ Thread Index | Date Index | More Archives ]

ok, i committed because my local svn directory was a complete mess
(good we're soon moving to hg !)

Here's a summary of the changes: hope you agree, otherwise i can revert.
- the constant Diagonal is renamed to DiagonalBits
- a helper ei_is_diagonal is introduced to check for these bits: it is
used many times
- DiagonalCoeffs is renamed Diagonal (instead of Band)
- Diagonal's Index parameter may now be Dynamic
- add MatrixBase::diagonal(int) returning a Diagonal<Derived,Dynamic>


2009/5/10 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> ok, since we don't want to allow Part<Diagonal> anyway, the only way
> it remains used is to check whether a given expression is diagonal
> --> solution (doing it now):
>  remove Diagonal constant
>  add ei_is_diagonal<T>::ret   (instead of doing the same slippery
> cooking everytime)
>  rename DiagonalCoeffs to Diagonal, instead of Band
> Benoit
> 2009/5/10 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
>> ok, thinking about it: I agree that the terminology "Band" here was
>> very misleading.
>> But the name "DiagonalCoeffs" was ugly.
>> Ideally, we want to call that "Diagonal", but that symbol is already
>> taken in Constants.h.
>> Is it time to namespace the constants, a la Qt?
>> Benoit
>> 2009/5/10 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
>>> 2009/5/10 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
>>>> Hi,
>>>> I did not read your patch carefully (no time right now) but initially
>>>> I thought it would be better to keep DiagonalCoeffs and add a new Band
>>>> class (for compilation time, more specialized API, etc...).
>>> There's a misunderstanding. By "Band" I mean exactly one
>>> diagonal/subdiagonal/superdiagonal. I'm using "band" as a shorter,
>>> unified synonym for all that.
>>> The only difference between Band and DiagonalCoeffs, is that now the
>>> index (positive for superdiagonal, negative for subdiagonal) can be a
>>> runtime variable.
>>> When I add a class for banded matrix allowing multiple bands, I'll
>>> call it "BandedMatrix".
>>> Is this terminology OK?
>>>> see what I wrote:
>>> Yes, I read it, btw i made comments here,
>>> i'd be interested in your thoughts before i do BandedMatrix.
>>> Cheers,
>>> Benoit

Mail converted by MHonArc 2.6.19+