In linear algebra, the transpose of a matrix A is another matrix AT (also written A′, Atr,tA or At) created by any one of the following equivalent actions:

  • reflect A over its main diagonal (which runs from top-left to bottom-right) to obtain AT
  • write the rows of A as the columns of AT
  • write the columns of A as the rows of AT

Formally, the i th row, j th column element of AT is the j th row, i th column element of A:

[\mathbf{A}^\mathrm{T}]_{ij} = [\mathbf{A}]_{ji}

If A is an m × n matrix then AT is an n × m matrix.

Code

 

        public static int[,] Transpose(int[,] matrix)
        {
            int row = matrix.GetLength(0);
            int column = matrix.GetLength(1);
            Console.WriteLine("Input Matrix");
            PrintMatrix(matrix);

            int[,] transpose = new int[column, row];

            for (int rowCounter = 0; rowCounter < row; rowCounter++)
            {
                for (int columnCounter = 0; columnCounter < column; columnCounter++)
                {
                    transpose[columnCounter, rowCounter] = 
matrix[rowCounter, columnCounter]; } } Console.WriteLine("Transpose"); PrintMatrix(transpose); return transpose; }