Numerical Methods: Multiplication of two matrices using two dimensional array in C

Let we have two 2 x 2 matrices A and B

Let we have two 2 x 2 matrices A and B
\[ A = \begin{bmatrix} a_{00} & a_{01}\\
a_{10} & a_{11}
\end{bmatrix} \text{ and } B = \begin{bmatrix} b_{00} & b_{01} \\
b_{10} & b_{11} \end{bmatrix}\]
The multiplication of $A$ and $B$ works as follows

  1. Multiply $a_{00}$ with $b_{00}$ and $a_{01}$ with $b_{10}$ and sum them together. So the first element $r_{00}$ becomes  $a_{00}$ . $b_{00}$ + $a_{01}$ . $b_{10}$
  2. Multiply $a_{00}$ with $b_{01}$ and $a_{01}$ with $b_{11}$ and sum them together. So the first element $r_{01}$ becomes  $a_{00}$ . $b_{01}$ + $a_{01}$ . $b_{11}$
  3. Multiply $a_{10}$ with $b_{00}$ and $a_{11}$ with $b_{10}$ and sum them together. So the first element $r_{10}$ becomes  $a_{10}$ . $b_{00}$ + $a_{11}$ . $b_{10}$
  4. Multiply $a_{10}$ with $b_{01}$ and $a_{11}$ with $b_{11}$ and sum them together. So the first element $r_{11}$ becomes  $a_{10}$ . $b_{01}$ + $a_{11}$ . $b_{11}$
So the resulting matrix $R$ becomes,
\[ R = \begin{bmatrix} a_{00}.b_{00}+a_{01}.b_{10} &  a_{00}.b_{01} + a_{01}.b_{11} \\ a_{10}.b_{00} + a_{11}.b_{10} & a_{10}.b_{01} + a_{11}.b_{11}\end{bmatrix}\]
Note: In order to multiply two matrices, $A$ and $B$, the number of columns in $A$ must equal the number of rows in $B$. Thus, if $A$ is an $m * n$ matrix and $B$ is an $r * s$ matrix, $n = r$.

Source Code

 

SHARE Numerical Methods: Multiplication of two matrices using two dimensional array in C

You may also like...

6 Responses

  1. this is wrong…. the multiplication logic is not right….

  2. Shayan thanks for reply … but i don't think the logic is wrong. Can you prove it?

  3. Marouf says:

    Bibek, your code for Marixmultiplication is korekt and gut, may be mohr in analytical Geometry source code in c/c++

  4. Marouf says:

    I think your source code in c/c++ for two Matrix multiplication is correct and not wrong, which Mr Shayan mean, thank you for very nice and in simply way to write your programm about numerical Mathematic, i hope more in analytical Geometrie like point,victor,line,plan in c/c++, my compiler is dev c++ from blood sheet

Leave a Reply

Your email address will not be published. Required fields are marked *

Share