Click or drag to resize

DoubleMatrixInPlaceTranspose Method

Transposes this instance.

Namespace:  Novacta.Analytics
Assembly:  Novacta.Analytics (in Novacta.Analytics.dll) Version: 2.0.0
Syntax
public void InPlaceTranspose()
Remarks

Let LaTeX equation be a matrix, and consider its generic entry

LaTeX equation

where LaTeX equation and LaTeX equation are the number of rows and columns of LaTeX equation, respectively.

The transpose of LaTeX equation is the matrix LaTeX equation having LaTeX equation rows and LaTeX equation columns, whose generic entry is:

LaTeX equation

The method transforms this instance in its transpose.

Examples

In the following example, a matrix is transposed.

C#
using System;

namespace Novacta.Analytics.CodeExamples
{
    public class InPlaceTransposeExample0  
    {
        public void Main()
        {
            // Create a matrix.
            var data = new double[20] {
                1, 8, -3,  6, -2,
                2, 2,  2,  0,  7,
               -3, 9,  3,  2,  9,
                5, 2, -5, -1, -4
            };
            var matrix = DoubleMatrix.Dense(4, 5, data, StorageOrder.RowMajor);
            Console.WriteLine("Initial data matrix:");
            Console.WriteLine(matrix);

            // Transpose the matrix.
            matrix.InPlaceTranspose();

            Console.WriteLine();
            Console.WriteLine("Transposed data matrix:");
            Console.WriteLine(matrix);
        }
    }
}

// Executing method Main() produces the following output:
// 
// Initial data matrix:
// 1                8                -3               6                -2               
// 2                2                2                0                7                
// -3               9                3                2                9                
// 5                2                -5               -1               -4               
// 
// 
// 
// Transposed data matrix:
// 1                2                -3               5                
// 8                2                9                2                
// -3               2                3                -5               
// 6                0                2                -1               
// -2               7                9                -4               
// 

See Also