Re: [eigen] inconsistent cwise() support

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




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.

gael

 

Benoit

>
> gael.
>
>>
>> Benoit
>>
>>
>
>
>
>





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