View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Rasoul Khoshravan Rasoul Khoshravan is offline
external usenet poster
 
Posts: 82
Default Matrix multiplication using sumproduct

In some engineering calculations, we have multiplication of matrices or
matrices and vectors.

It is defined as follows by an example:

[A]= 2 3 5 (an array of 3 rows and 3 columns)

2 4 6

1 -2 4



[b]= 6 (an array of 3 rows and 1 column)

-5

1

[A] *[b] = 2*6+3*(-5)+5*1

2*6+4*(-5)+6*1

1*6+(-2)*(-5)+4*1



[A] *[b] = 2 (an array of 3 rows and 1 column)

-2

20

For long time, I was performing this task by simple multiplication and
summation. Recently through this ng, I came to know about SUMPRODUCT command
and thought of writing a command to do matrices multiplication. I came to
following command which satisfies me. If you know any better way for
matirces multiplication, let me know. In real engineering problems sometimes
we have to perform this task for very big matrices like (100 rows by 100
columns, and even bigger ones) for calculation of inverse of a matrix, which
makes it very time consuming. For this reason approximate methods are
introduced. I was wondering if these calculations will be time-consuming in
Excel or not.

[A] from a1 to c3
[b] from d1 to d3
[A]*[b] from e1 to e3

In e1 I enter:
sumproduct(a1:c1,transpose(d$1:d$3)) entered as array formula (CSE)
drag the top formula to e2 and e3.