For introduction on matrices, you can refer the following article: Matrix Introduction

In this article, we will discuss various operations on matrices and their properties:

**Matrices Addition –**

The addition of two matrices A _{m*n} and B_{m*n} gives a matrix C_{m*n}. The elements of C are sum of corresponding elements in A and B which can be shown as:

The algorithm for addition of matrices can be written as:

for i in 1 to m for j in 1 to n c_{ij}= a_{ij}+ b_{ij}

**Key points:**

- Addition of matrices is commutative which means A+B = B+A
- Addition of matrices is associative which means A+(B+C) = (A+B)+C
- The order of matrices A, B and A+B is always same
- If order of A and B is different, A+B can’t be computed
- The complexity of addition operation is O(m*n) where m*n is order of matrices

**Matrices Subtraction –**

The subtraction of two matrices A_{m*n} and B_{m*n} gives a matrix C_{m*n}. The elements of C are difference of corresponding elements in A and B which can be represented as:

The algorithm for subtraction of matrices can be written as:

for i in 1 to m for j in 1 to n c_{ij}= a_{ij}-b_{ij}

**Key points:**

- Subtraction of matrices is non-commutative which means A-B ≠ B-A
- Subtraction of matrices is non-associative which means A-(B-C) ≠ (A-B)-C
- The order of matrices A, B and A-B is always same
- If order of A and B is different, A-B can’t be computed
- The complexity of subtraction operation is O(m*n) where m*n is order of matrices

**Matrices Multiplication –**

The multiplication of two matrices A_{m*n} and B_{n*p} gives a matrix C_{m*p}. It means number of columns in A must be equal to number of rows in B to calculate C=A*B. To calculate element c11, multiply elements of 1st row of A with 1st column of B and add them (5*1+6*4) which can be shown as:

The algorithm for multiplication of matrices A with order m*n and B with order n*p can be written as:

for i in 1 to m for j in 1 to p c_{ij}= 0 for k in 1 to n c_{ij}+= a_{ik}*b_{kj}

**Key points:**

- Multiplication of matrices is non-commutative which means A*B ≠ B*A
- Multiplication of matrices is associative which means A*(B*C) = (A*B)*C
- For computing A*B, the number of columns in A must be equal to number of rows in B
- Existence of A*B does not imply existence of B*A
- The complexity of multiplication operation (A*B) is O(m*n*p) where m*n and n*p are order of A and B respectively
- The order of matrix C computed as A*B is O(m*p) where m*n and n*p are order of A and B respectively

Read next – Determinant of a Matrix, Adjoint and Inverse of a Matrix

This article is contributed by **Sonal Tuteja**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

**Practice Tags :**