Transpose of a matrix is the process of swapping the rows to columns. For 2x3
matrix,
Matrix a11 a12 a13 a21 a22 a23 Transposed Matrix a11 a21 a12 a22 a13 a23
Example: Program to Find Transpose of a Matrix
public class Transpose {
public static void main(String[] args) {
int row = 2, column = 3;
int[][] matrix = { {2, 3, 4}, {5, 6, 4} };
// Display current matrix
display(matrix);
// Transpose the matrix
int[][] transpose = new int[column][row];
for(int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
transpose[j][i] = matrix[i][j];
}
}
// Display transposed matrix
display(transpose);
}
public static void display(int[][] matrix) {
System.out.println("The matrix is: ");
for(int[] row : matrix) {
for (int column : row) {
System.out.print(column + " ");
}
System.out.println();
}
}
}
Output
The matrix is: 2 3 4 5 6 4 The matrix is: 2 5 3 6 4 4
In the above program, display()
function is only used to print the contents of a matrix to the screen.
Here, the given matrix is of form 2x3
, i.e. row = 2
and column = 3
.
For the transposed matrix, we change the order of transposed to 3x2
, i.e. row = 3
and column = 2
. So, we have transpose = int[column][row]
The transpose of the matrix is calculated by simply swapping columns to rows:
transpose[j][i] = matrix[i][j];