# 1. Introduction

In the realm of linear algebra and matrices, the transpose of a matrix is a new matrix obtained by exchanging the rows and columns. In this guide, we'll delve into the Swift code to transpose a matrix.

# 2. Program Overview

Our strategy will be:

1. Define a matrix.

2. Use a function to transpose the matrix.

3. Print the transposed matrix.

# 3. Code Program

``````// Function to transpose a matrix
func transposeMatrix(_ matrix: [[Int]]) -> [[Int]] {
let rowCount = matrix.count
let colCount = matrix[0].count
var transposed = [[Int]](repeating: [Int](repeating: 0, count: rowCount), count: colCount)

for i in 0..<rowCount {
for j in 0..<colCount {
transposed[j][i] = matrix[i][j]
}
}

return transposed
}

// Defining a matrix for testing
let matrix = [    [1, 2, 3],
[4, 5, 6]
]

// Transposing the matrix
let transposedMatrix = transposeMatrix(matrix)
print("Transposed Matrix:")
for row in transposedMatrix {
print(row)
}
``````

### Output:

```Transposed Matrix:
[1, 4]
[2, 5]
[3, 6]
```

# 4. Step By Step Explanation

1. The function transposeMatrix(_:) is set up to transpose a matrix. It returns a 2D integer array.

2. Within the function:

- We first determine the number of rows and columns in the given matrix.- The transposed matrix is initialized with dimensions flipped compared to the input matrix and filled with zeros.- Nested for loops traverse through the matrix. The elements of the matrix are copied to their transposed positions in the transposed matrix.

3. To test the function, we specify a matrix named matrix.

4. We then call the transposeMatrix(_:) function, and afterward, print the transposed matrix.

This method allows for an intuitive and efficient approach to matrix transposition in Swift.