Re: [eigen] Diagonal matrices diff

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen 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>

Cheers,
Benoit

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:
>>>> http://eigen.tuxfamily.org/index.php?title=SpecialMatrix#skyline.2Fband_matrix
>>>
>>> Yes, I read it, btw i made comments here,
>>> http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2009/03/msg00130.html
>>> i'd be interested in your thoughts before i do BandedMatrix.
>>>
>>> Cheers,
>>> Benoit
>>>
>>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/