Re: [eigen] Vectorwise dot product feature request |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Vectorwise dot product feature request
- From: Márton Danóczy <marton78@xxxxxxxxx>
- Date: Wed, 7 Jul 2010 14:46:30 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=WFFdqtETR5RV8cyGLvVHIcHa4bqp4JV969hEtItgxsQ=; b=W3rtu4vZJBgcayqSkpfIRqNJlWavwu6LVWnMCyCmS8l5Y5Kif2hZzRttfpabb9VXPM spZQVMc/bN2rICf5oc+52l5qo1SjFhVDVqp3woalhLSDsiXLV7gxDIHFW8/fx7STRXbl v2EOOo1UeP2FsTHxNxGjIWUIZDer0BPP4vkHs=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=Isj9ypFw9RFRLNQ7OZlsZizn8rsSM9l2MDTDxBEoRALtOjMw+NXpt3LWRgq3MFkTv7 ABs1M9R4UTL1n2h1GWntbsc+Zb+oXKWefjMzrFOatXfl9ey9xbKzTAcZS8tK9A6GEL/Q +VLLefMFXc1qLrhd/YV3JIwxWkHpSZJqbIesQ=
Because .dot() returns a scalar, whereas multiplication returns an 1x1 matrix.
Marton
On 7 July 2010 14:15, Johan Pauwels <johan.pauwels@xxxxxxxxxxxxx> wrote:
> On 2010-07-07 13:02, Aron Ahmadia wrote:
>
> That looks suspiciously like a transposed multiply to me...
>
> Ugh, exactly. Sorry for the bother. My mind was so set on a collection of
> independent columns and broadcasting operations, that I forgot the basic
> matrix multiplication. One might wonder why there even is a .dot() syntax?
>
> Regards,
> Johan
>
> A
>
> On Wed, Jul 7, 2010 at 1:59 PM, Johan Pauwels <johan.pauwels@xxxxxxxxxxxxx>
> wrote:
>>
>> Hello all,
>>
>> Would it be possible to allow a vectorwise dot product as in the example
>> below?
>>
>> #include <Eigen/Core>
>>
>> int main()
>> {
>> Eigen::MatrixXf mat = Eigen::MatrixXf::Random(5,2);
>> Eigen::VectorXf vec = Eigen::VectorXf::Random(5);
>> Eigen::RowVectorXf result(2);
>>
>> // this syntax
>> result = mat.colwise().dot(vec);
>> // instead of this for loop
>> for (int i = 0; i < mat.cols(); ++i)
>> {
>> result[i] = mat.col(i).dot(vec);
>> }
>> }
>>
>> Regards,
>> Johan
>>
>>
>
>
>