Re: [eigen] Diagonal matrices diff

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


perfect !

Gael.

On Sun, May 10, 2009 at 6:50 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
> 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/