Determinant calculation of a square matrix is widely used in solving many applied Mathematics problems. Some of them are while solving a set of linear equations using Cramer's rule (iff they have unique solutions), calculation of inverse matrix, Eigen values/ Eigen vectors problem and so on.

The determinant of a square matrix A∈R

det(A) = SUM

.

The summation is over all n! permutations(ν1,ν2,...,νn) of the integers 1,2,...,n, and sign(ν1,ν2,...,νn) = +1 or−1 depending on whether the n-tuple (ν1,ν2,...,νn) is an even or odd permutation of (1,2,...,n), respectively. An even (odd) permutation is obtained by an even (odd) number of exchanges of two adjacent elements in the array(1,2,...,n). A matrix A∈R

det(A) is nonzero.

Here, we've presented the determinant calculator of a square matrix in C:

Sample Output:

Enjoy coding !!!

The determinant of a square matrix A∈R

^{n×n}is the real number det(A) defined as follows:det(A) = SUM

_{perm }[sign(ν1,ν2,...,νn)a1ν1a2ν2...anνn].

The summation is over all n! permutations(ν1,ν2,...,νn) of the integers 1,2,...,n, and sign(ν1,ν2,...,νn) = +1 or−1 depending on whether the n-tuple (ν1,ν2,...,νn) is an even or odd permutation of (1,2,...,n), respectively. An even (odd) permutation is obtained by an even (odd) number of exchanges of two adjacent elements in the array(1,2,...,n). A matrix A∈R

^{n×n}is said to be non-singular when its determinantdet(A) is nonzero.

Here, we've presented the determinant calculator of a square matrix in C:

```
#include<stdio.h>
void readmatrix(int m[][8], int s){
int i,j;
printf("Enter elements of the matrix: \n");
for(i=0;i<s;i++)
for(j=0;j<s;j++)
scanf("%d", &m[i][j]);
}
int determinant(int m[][8],int s){
int i, j, k, det,cramermatrix[15][15], product, plussum = 0, minussum = 0;
if (s == 2)
det = m[0][0]*m[1][1] - m[0][1]*m[1][0];
else
{
for(i=0;i<s;i++)
for(j=0;j<s;j++)
cramermatrix[i][j] = m[i][j];
for(i=0;i<s;i++)
for(j=s;j<(2*s-1);j++)
cramermatrix[i][j] = m[i][j-s];
for(i=0;i<s;i++){
product = 1;
for(j = 0; j <s; j++)
product = product*cramermatrix[j][i+j];
plussum += product;
}
for(i=s-1;i<(2*s-1);i++){
product = 1;
for(j = 0; j <s; j++)
product = product*cramermatrix[j][i-j];
minussum += product;
}
det = plussum - minussum;
}
return det;
}
int main(){
int matrix[8][8], det, size;
printf("Enter the order of square matrix (n*n) e.g. 4 : ");
scanf("%d", &size);
readmatrix(matrix, size);
det = determinant(matrix, size);
printf("\n The determinant of the given square matrix is\n det = %d\n\n", det);
return 0;
}
```

Sample Output:

```
Enter the order of square matrix (n*n) e.g. 4: 3
Enter the elements of the matrix:
3 4 5
0 1 1
0 1 -1
Determinant of the given matrix is
det = -6
```

Enjoy coding !!!

## No comments :

## Post a Comment