> 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.