Click or drag to resize

ComplexMatrixInPlaceConjugateTranspose Method

Conjugate transposes this instance.

Namespace:  Novacta.Analytics
Assembly:  Novacta.Analytics (in Novacta.Analytics.dll) Version: 2.0.0
Syntax
public void InPlaceConjugateTranspose()
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 conjugate transpose of LaTeX equation is the matrix LaTeX equation having LaTeX equation rows and LaTeX equation columns, whose generic entry is:

LaTeX equation

where LaTeX equation is the conjugate of complex LaTeX equation.

The method transforms this instance in its conjugate transpose.

Examples

In the following example, a matrix is conjugate transposed.

C#
using System;
using System.Numerics;

namespace Novacta.Analytics.CodeExamples
{
    public class ComplexInPlaceConjugateTransposeExample0  
    {
        public void Main()
        {
            // Create a matrix.
            var data = new Complex[6] {
                new Complex(1, -1), new Complex(5, -5),
                new Complex(2, -2), new Complex(6, -6),
                new Complex(3, -3), new Complex(7, -7)
            };
            var matrix = ComplexMatrix.Dense(3, 2, data, StorageOrder.RowMajor);
            Console.WriteLine("Initial data matrix:");
            Console.WriteLine(matrix);

            // Conjugate transpose the matrix.
            matrix.InPlaceConjugateTranspose();

            Console.WriteLine();
            Console.WriteLine("Conjugate transposed data matrix:");
            Console.WriteLine(matrix);
        }
    }
}

// Executing method Main() produces the following output:
// 
// Initial data matrix:
// (                1,               -1) (                5,               -5) 
// (                2,               -2) (                6,               -6) 
// (                3,               -3) (                7,               -7) 
// 
// 
// 
// Conjugate transposed data matrix:
// (                1,                1) (                2,                2) (                3,                3) 
// (                5,                5) (                6,                6) (                7,                7) 
// 

See Also