Re: matrix multiplication of 2 three-dimensional arrays [message #62046 is a reply to message #62045] |
Wed, 20 August 2008 07:51   |
pgrigis
Messages: 436 Registered: September 2007
|
Senior Member |
|
|
thomas.jagdhuber wrote:
> On 20 Aug., 16:34, pgri...@gmail.com wrote:
>> Bennett wrote:
>>> On Aug 20, 8:22 am, "thomas.jagdhuber" <thomas.jagdhu...@gmail.com>
>>> wrote:
>>>> Dear experts,
>>
>>>> I would like to matrix multiply two matrices with dimensions
>>>> [3,3,1500]. means: 1500 times a matrix multiplication of 2 matrices
>>>> with dimension [3,3]
>>>> I could do this with a for loop over the dimension [1500] but i
>>>> suppose this is not very elegant. Is there any other way to do this
>>>> time-efficient.
>>
>>>> Best regards,
>>
>>>> thomas
>>
>>> Have you searched help on product() and its dimensional keyword?
>>> This could be useful for you.
>>
>> It is not clear to me how "product" can be used for solving
>> matrix multiplications.
>>
>> To the original poster:
>>
>> 1) your problem is so small that I don't see any need for
>> optimization.
>>
>> 2) however, if you really want to optimize in case that the number of
>> matrices N should increase in the future, use loops over the 3x3
>> matrix
>> arrays and columns instead and treat the matrix elements as N-element
>> vectors. This way, more work is done per loop for large values of N.
>>
>> Ciao,
>> Paolo
>
> I think i will calculate each matrix element alone by the linear
> combination and then just use the whole vector of 1500 Values for
> calculating each linear combination. this should be reasonable as long
> as the 3x3-dimension is valid and not growing.
Yes, that is exactly what I was suggesting. The code will look ugly
though...;-)
Ciao,
Paolo
|
|
|