Re: Why Does Repeated Dot Product Take So Long?
- To: mathgroup at smc.vnet.net
- Subject: [mg67955] Re: [mg67938] Why Does Repeated Dot Product Take So Long?
- From: Gregory Lypny <gregory.lypny at videotron.ca>
- Date: Tue, 18 Jul 2006 05:50:45 -0400 (EDT)
- References: <200607171051.GAA02347@smc.vnet.net> <44BB93B3.5050508@wolfram.com>
- Sender: owner-wri-mathgroup at wolfram.com
Thank you for having a look, Carl. The matrices contain real
numbers, all less than one, with about nine digits to the right of
the decimal. I'll give your approach a try.
Regards,
Greg
On Mon, Jul 17, 2006, at 9:42 AM, Carl K. Woll wrote:
> Gregory Lypny wrote:
>> Hello Everyone,
>> x and y are both 2000 x 3 matrices. I wanted to created a 2000 x
>> 1 vector with each element equal to the dot product of the
>> corresponding rows of x and y. So I tried this:
>> Table[x[[i]].y[[i]], {i, 1, 2000}]
>> It took more than two and a half minutes on my iBook G4. Is that
>> normal? I've done seemingly more demanding computations in Do
>> loops and Tables that are completed in a split second. Am I
>> doing something wrong with this one?
>> Regards,
>> Gregory
>
> When I tried your code with matrices containing machine reals, the
> timing was practically instantaneous. Perhaps you could tell us
> what the matrix elements are.
>
> For this particular computation with very large numerical matrices,
> a faster approach is to rely on the listable attribute of matrices:
>
> Total[Transpose[x y]]
>
> For large matrices such as 200000 x 3 the above method is
> significantly faster.
>
> Carl Woll
> Wolfram Research
- References:
- Why Does Repeated Dot Product Take So Long?
- From: Gregory Lypny <gregory.lypny@videotron.ca>
- Why Does Repeated Dot Product Take So Long?