Re: [eigen] inconsistent cwise() support

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


2009/11/18 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
>
>
> On Wed, Nov 18, 2009 at 4:00 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
> wrote:
>>
>> 2009/11/18 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
>> >
>> >
>> > On Wed, Nov 18, 2009 at 3:50 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
>> > wrote:
>> >>
>> >> >> > Yes that's what I was going to reply: I like Jitse's proposal too
>> >> >> > but
>> >> >> > we really don't have to provide .cwiseEverything(), only the most
>> >> >> > common functions,
>> >> >> >  matrix.cwiseProduct(matrix2)
>> >> >> >  matrix.cwiseSum(scalar)
>> >> >> >  matrix.cwiseAbs()
>> >> >> >  matrix.cwiseAbs2()
>> >> >>
>> >> >> Also I wonder. If matrix.cwiseAbs() is a synonym for
>> >> >> matrix.array().abs(), perhaps we should call that matrix.arrayAbs()?
>> >> >>
>> >> >> In other words,  s/cwise/array/g ? To have only 1 terminology
>> >> >> everywhere.
>> >> >>
>> >> >
>> >> > Well, the first question is whether we still want a .array() method
>> >> > or
>> >> > not?
>> >>
>> >> Oh, I hadn't understood that was the question.
>> >> Do you really think that we can do without? First it would require us
>> >> to add a ton of cwise...() functions that will not often be used
>> >> (what's the use for cwiseCos() when we have a true Array class?), and
>> >> even then, we still wouldn't have all the power that .array()
>> >> provides, e.g. think of user-defined functions taking an Array...
>> >>
>> >
>> > ok, so at the end we would have my proposal + a couple of shortcuts
>> > covering
>> > the basic needs of linear algebra. Remark that m.cwiseAbs() /
>> > m.arrayAbs()
>> > returns a matrix expression while m.arrayAbs() returns an array. So
>> > perhaps
>> > it is better to keep cwise for the shortcuts.
>>
>> (rewriting to make sure we agree, since you wrote 2x arrayAbs())
>
> oops sorry.
>
>>
>> So:
>>
>>  m.cwiseAbs()   returns a matrix xpr
>>  m.array().abs()  returns an array xpr
>>
>> So i agree with you, let's keep cwise and not have any method named
>> arrayAbs().
>
> Ok, good then I'm doing these changes in the ET-refactoring fork. I need to
> do them before going further. I will also move Cwise and other deprecated
> stuff to a new Eigen2Support module in that fork.

Great!

Benoit



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