ComplexMatrixConjugateTranspose Method |
Namespace: Novacta.Analytics
Let and
be the
number of rows and columns, respectively, of this instance, and consider its generic entry
The method returns the conjugate transpose of this instance, i.e. a matrix,
say ,
having rows and
columns, whose generic
entry is:
where is the conjugate of complex .
In the following example, the conjugate transpose of a matrix is computed.
using System; using System.Numerics; namespace Novacta.Analytics.CodeExamples { public class ComplexOutPlaceConjugateTransposeExample0 { 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("The data matrix:"); Console.WriteLine(matrix); // Return its conjugate transpose. var transposedMatrix = matrix.ConjugateTranspose(); Console.WriteLine(); Console.WriteLine("Matrix conjugate transpose:"); Console.WriteLine(transposedMatrix); // Compute the conjugate transpose using a read-only wrapper // of the data matrix. ReadOnlyComplexMatrix readOnlyMatrix = matrix.AsReadOnly(); var transposedReadOnlyMatrix = readOnlyMatrix.ConjugateTranspose(); Console.WriteLine(); Console.WriteLine("Read only matrix transpose:"); Console.WriteLine(transposedReadOnlyMatrix); } } } // Executing method Main() produces the following output: // // The data matrix: // ( 1, -1) ( 5, -5) // ( 2, -2) ( 6, -6) // ( 3, -3) ( 7, -7) // // // // Matrix conjugate transpose: // ( 1, 1) ( 2, 2) ( 3, 3) // ( 5, 5) ( 6, 6) ( 7, 7) // // // // Read only matrix transpose: // ( 1, 1) ( 2, 2) ( 3, 3) // ( 5, 5) ( 6, 6) ( 7, 7) //