# Program for Identity Matrix

Introduction to Identity Matrix :

The dictionary definition of an Identity Matrix is a square matrix in which all the elements of the principal or main diagonal are 1’s and all other elements are zeros. In the below image, every matrix is an Identity Matrix. In linear algebra, this is sometimes called as a Unit Matrix, of a square matrix (size = n x n) with ones on the main diagonal and zeros elsewhere. The identity matrix is denoted by “ I “. Sometimes U or E is also used to denote an Identity Matrix.
A property of the identity matrix is that it leaves a matrix unchanged if it is multiplied by an Identity Matrix.

Examples:

```Input  : 2
Output : 1 0
0 1

Input :  4
Output : 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
The explanation is simple. We need to make all
the elements of principal or main diagonal as
1 and everything else as 0.
```

Program to print Identity Matrix :
The logic is simple. You need to the print 1 in those positions where row is equal to column of a matrix and make all other positions as 0.

## C/C++

 `// C program to print Identity Matrix ` `#include ` ` `  `int` `Identity(``int` `num) ` `{ ` `    ``int` `row, col; ` `     `  `    ``for` `(row = 0; row < num; row++) ` `    ``{ ` `        ``for` `(col = 0; col < num; col++) ` `        ``{ ` `            ``// Checking if row is equal to column  ` `            ``if` `(row == col) ` `                ``printf``(``"%d "``, 1); ` `            ``else` `                ``printf``(``"%d "``, 0); ` `        ``}  ` `        ``printf``(``"\n"``); ` `    ``} ` `    ``return` `0; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `size = 5; ` `    ``identity(size); ` `    ``return` `0; ` `} `

## Java

 `// Java program to print Identity Matrix ` `class` `GFG { ` `     `  `    ``static` `int` `identity(``int` `num) ` `    ``{ ` `        ``int` `row, col; ` `          `  `        ``for` `(row = ``0``; row < num; row++) ` `        ``{ ` `            ``for` `(col = ``0``; col < num; col++) ` `            ``{ ` `                ``// Checking if row is equal to column  ` `                ``if` `(row == col) ` `                    ``System.out.print( ``1``+``" "``); ` `                ``else` `                    ``System.out.print( ``0``+``" "``); ` `            ``}  ` `            ``System.out.println(); ` `        ``} ` `        ``return` `0``; ` `    ``} ` `      `  `    ``// Driver Code ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``int` `size = ``5``; ` `        ``identity(size); ` `    ``} ` `} ` ` `  `/*This code is contributed by Nikita tiwari.*/`

## Python3

 `# Python code to print identity matrix ` ` `  `# Function to print identity matrix ` `def` `Identity(size): ` `    ``for` `row ``in` `range``(``0``, size): ` `        ``for` `col ``in` `range``(``0``, size): ` ` `  `            ``# Here end is used to stay in same line ` `            ``if` `(row ``=``=` `col): ` `                ``print``(``"1 "``, end``=``" "``) ` `            ``else``: ` `                ``print``(``"0 "``, end``=``" "``) ` `        ``print``() ` ` `  `# Driver Code         ` `size ``=` `5` `Identity(size) `

## C#

 `// C# program to print Identity Matrix ` `using` `System; ` ` `  `class` `GFG { ` `     `  `    ``static` `int` `identity(``int` `num) ` `    ``{ ` `        ``int` `row, col; ` `         `  `        ``for` `(row = 0; row < num; row++) ` `        ``{ ` `            ``for` `(col = 0; col < num; col++) ` `            ``{ ` `                ``// Checking if row is equal to column  ` `                ``if` `(row == col) ` `                    ``Console.Write( 1+``" "``); ` `                ``else` `                    ``Console.Write( 0+``" "``); ` `            ``}  ` `            ``Console.WriteLine(); ` `        ``} ` `        ``return` `0; ` `    ``} ` `     `  `    ``// Driver Code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `size = 5; ` `        ``identity(size); ` `    ``} ` `} ` ` `  `/*This code is contributed by vt_m.*/`

## PHP

 ` `

Output:

```1  0  0  0  0
0  1  0  0  0
0  0  1  0  0
0  0  0  1  0
0  0  0  0  1
```

Program to check if a given square matrix is Identity Matrix :

## C++

 `// CPP program to check if a given matrix is identity ` `#include ` `using` `namespace` `std; ` ` `  `const` `int` `MAX = 100; ` ` `  `bool` `isIdentity(``int` `mat[][MAX], ``int` `N) ` `{  ` `    ``for` `(``int` `row = 0; row < N; row++) ` `    ``{ ` `        ``for` `(``int` `col = 0; col < N; col++) ` `        ``{ ` `            ``if` `(row == col && mat[row][col] != 1) ` `                ``return` `false``; ` `            ``else` `if` `(row != col && mat[row][col] != 0) ` `                ``return` `false``; ` `        ``}  ` `    ``} ` `    ``return` `true``; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `N = 4; ` `    ``int` `mat[][MAX] = {{1, 0, 0, 0},  ` `                    ``{0, 1, 0, 0}, ` `                    ``{0, 0, 1, 0}, ` `                    ``{0, 0, 0, 1}};  ` `    ``if` `(isIdentity(mat, N)) ` `       ``cout << ``"Yes "``; ` `    ``else` `       ``cout << ``"No "``; ` `    ``return` `0; ` `} `

## Java

 `// Java program to check if a given  ` `// matrix is identity ` `class` `GFG { ` `     `  `    ``int` `MAX = ``100``; ` `  `  `    ``static` `boolean` `isIdentity(``int` `mat[][], ``int` `N) ` `    ``{  ` `        ``for` `(``int` `row = ``0``; row < N; row++) ` `        ``{ ` `            ``for` `(``int` `col = ``0``; col < N; col++) ` `            ``{ ` `                ``if` `(row == col && mat[row][col] != ``1``) ` `                    ``return` `false``; ` `                ``else` `if` `(row != col && mat[row][col] != ``0``) ` `                    ``return` `false``; ` `            ``}  ` `        ``} ` `        ``return` `true``; ` `    ``} ` `      `  `    ``// Driver Code ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``int` `N = ``4``; ` `        ``int` `mat[][] = {{``1``, ``0``, ``0``, ``0``}, ` `                       ``{``0``, ``1``, ``0``, ``0``}, ` `                       ``{``0``, ``0``, ``1``, ``0``}, ` `                       ``{``0``, ``0``, ``0``, ``1``}};  ` `         `  `        ``if` `(isIdentity(mat, N)) ` `           ``System.out.println(``"Yes "``); ` `        ``else` `           ``System.out.println(``"No "``); ` `    ``} ` `} ` ` `  ` `  `/*This code is contributed by Nikita Tiwari.*/`

## Python3

 `# Python3 program to check  ` `# if a given matrix is identity ` `MAX` `=` `100``; ` `def` `isIdentity(mat, N): ` `    ``for` `row ``in` `range``(N): ` `        ``for` `col ``in` `range``(N): ` `            ``if` `(row ``=``=` `col ``and`  `                ``mat[row][col] !``=` `1``): ` `                ``return` `False``; ` `            ``elif` `(row !``=` `col ``and`  `                  ``mat[row][col] !``=` `0``): ` `                ``return` `False``; ` `    ``return` `True``; ` ` `  `# Driver Code ` `N ``=` `4``; ` `mat ``=` `[[``1``, ``0``, ``0``, ``0``], ` `       ``[``0``, ``1``, ``0``, ``0``], ` `       ``[``0``, ``0``, ``1``, ``0``], ` `       ``[``0``, ``0``, ``0``, ``1``]];  ` `if` `(isIdentity(mat, N)): ` `    ``print``(``"Yes "``); ` `else``: ` `    ``print``(``"No "``); ` ` `  `# This code is contributed ` `# by mits `

## C#

 `// C# program to check if a given  ` `// matrix is identity ` `using` `System; ` ` `  `class` `GFG { ` `     `  `    ``//int MAX = 100; ` ` `  `    ``static` `bool` `isIdentity(``int``[,] mat, ``int` `N) ` `    ``{  ` `        ``for` `(``int` `row = 0; row < N; row++) ` `        ``{ ` `            ``for` `(``int` `col = 0; col < N; col++) ` `            ``{ ` `                ``if` `(row == col && mat[row,col] != 1) ` `                    ``return` `false``; ` `                ``else` `if` `(row != col && mat[row,col] != 0) ` `                    ``return` `false``; ` `            ``}  ` `        ``} ` `        ``return` `true``; ` `    ``} ` `     `  `    ``// Driver Code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `N = 4; ` `        ``int` `[,]mat = {{1, 0, 0, 0}, ` `                      ``{0, 1, 0, 0}, ` `                      ``{0, 0, 1, 0}, ` `                      ``{0, 0, 0, 1}};  ` `         `  `        ``if` `(isIdentity(mat, N)) ` `        ``Console.WriteLine(``"Yes "``); ` `        ``else` `        ``Console.WriteLine(``"No "``); ` `    ``} ` `} ` ` `  ` `  `/*This code is contributed by vt_m.*/`

## PHP

 ` `

Output:

`Yes`

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : vt_m, Mithun Kumar