# Go Program to Check Symmetric Matrix

Write a Go program to check whether the given matrix is symmetric or not. Any square matrix which remains the same after transposing is called the symmetric matrix. In this Go example, we transpose the given matrix and then compare each item in the original matrix against the transposed matrix. If they are equal, it is a symmetric matrix.

```package main

import "fmt"

func main() {
var i, j, rows, columns int

var symmMat [10][10]int
var transMat [10][10]int

fmt.Print("Enter the Matrix rows and Columns = ")
fmt.Scan(&rows, &columns)

fmt.Println("Enter Matrix Items to Transpose = ")
for i = 0; i < rows; i++ {
for j = 0; j < columns; j++ {
fmt.Scan(&symmMat[i][j])
}
}
for i = 0; i < rows; i++ {
for j = 0; j < columns; j++ {
transMat[j][i] = symmMat[i][j]
}
}
count := 1
for i = 0; i < columns; i++ {
for j = 0; j < rows; j++ {
if symmMat[i][j] != transMat[i][j] {
count++
break
}
}
}
if count == 1 {
fmt.Println("This Matrix is a Symmetric Matrix")
} else {
fmt.Println("The Matrix is Not a Symmetric Matrix")
}

}```
``````Enter the Matrix rows and Columns = 2 2
Enter Matrix Items to Transpose =
1 2
2 1
This Matrix is a Symmetric Matrix``````

Golang Program to Check the Matrix is a Symmetric Matrix using For loop range.

```package main

import "fmt"

func main() {

var symmMat [3][3]int
var transMat [3][3]int

fmt.Println("Enter Matrix Items to Transpose = ")
for i, rows := range symmMat {
for j := range rows {
fmt.Scan(&symmMat[i][j])
}
}
for i, rows := range symmMat {
for j := range rows {
transMat[j][i] = symmMat[i][j]
}
}
count := 1
for i, rows := range symmMat {
for j := range rows {
if symmMat[i][j] != transMat[i][j] {
count++
break
}
}
}
if count == 1 {
fmt.Println("This Matrix is a Symmetric Matrix")
} else {
fmt.Println("The Matrix is Not a Symmetric Matrix")
}
}```