ConjugateTranspose

ConjugateTranspose[m]

or gives the conjugate transpose of .

Details and Options

Examples

open allclose all

Basic Examples  (2)

Conjugate transpose of a complex-valued matrix:

Enter using ct:

Scope  (12)

Matrices  (7)

Enter a matrix as a grid:

Conjugate-transpose the matrix and format the result:

Conjugate and transpose a row matrix into a column matrix:

Format the input and output:

Conjugate and transpose the column matrix back into a row matrix:

ConjugateTranspose[vec] conjugates the entries but does not change the shape of vec:

ConjugateTranspose works for symbolic matrices:

Use ComplexExpand to assume all variables are real:

ConjugateTranspose leaves the identity matrix unchanged:

s is a sparse matrix:

The conjugate transpose is also sparse:

Transpose a SymmetrizedArray object:

As the matrix is antihermitian, the result is the negation of the original:

Format a symbolic conjugate transpose in TraditionalForm:

Arrays  (5)

Conjugate-transpose the first two levels of a rank-3 array, effectively treating it as a matrix of vectors:

Transpose an array of depth 3 using different permutations:

Perform transpositions using TwoWayRule notation:

Transpose levels 2 and 3 of a depth-4 array:

The second and third dimensions have been exchanged:

Get the conjugated leading diagonal by transposing two identical levels:

Applications  (10)

Matrix Decompositions  (4)

is a random complex matrix:

Find the QRDecomposition of :

is unitary, so its inverse is :

Reconstruct from the decomposition:

Compute the SchurDecomposition of a matrix :

The matrix is unitary, so its inverse is TemplateBox[{q}, ConjugateTranspose]:

Reconstruct from the decomposition:

Compute the SingularValueDecomposition of a matrix :

The matrices and are unitary, so their inverses are their conjugate transposes:

Reconstruct from the decomposition:

Construct the singular value decomposition of , a random complex matrix:

First compute the eigensystem of TemplateBox[{a}, ConjugateTranspose].a:

The singular values are the square roots of the nonzero eigenvalues:

The matrix is a diagonal matrix of singular values with the same shape as :

The matrix has the eigenvectors as its columns:

The matrix has columns of the form for each of the nonzero eigenvalues:

Verify that and are unitary:

Verify the decomposition:

Special Matrices  (6)

A Hermitian matrix obeys s=TemplateBox[{s}, ConjugateTranspose], an antihermitian matrix a=-TemplateBox[{a}, ConjugateTranspose]. This matrix is Hermitian:

Confirm with HermitianMatrixQ:

This matrix is antihermitian:

Confirm with AntihermitianMatrixQ:

A matrix is unitary if TemplateBox[{u}, Inverse]=TemplateBox[{u}, ConjugateTranspose]. Check if the matrix is unitary:

Confirm that it is unitary using UnitaryMatrixQ:

A Hermitian matrix is unitarily diagonalizable as h=u.d.TemplateBox[{u}, ConjugateTranspose], with diagonal and real valued and unitary. Verify that the following matrix is Hermitian and then diagonalize it:

To diagonalize, first compute 's eigenvalues and place them in a diagonal matrix:

Next, compute the unit eigenvectors:

Then can be diagonalized with as previously, and u=TemplateBox[{v}, Transpose]:

An antihermitian matrix is unitarily diagonalizable as a=u.d.TemplateBox[{u}, ConjugateTranspose], with diagonal and imaginary valued and unitary. Verify that the following matrix is antihermitian and then diagonalize it:

To diagonalize, first compute 's eigenvalues and place them in a diagonal matrix:

Next, compute the unit eigenvectors:

Then can be diagonalized with as previously, and u=TemplateBox[{v}, Transpose]:

An unitary matrix is itself unitarily diagonalizable as u=v.d.TemplateBox[{v}, ConjugateTranspose], with unitary and diagonal with entries that lie on the unit circle. Verify that the following matrix is unitary and then diagonalize it:

Compute the eigensystem:

The eigenvalues all lie on the unit circle:

Place the eigenvalues in a diagonal matrix:

Normalize the eigenvectors and place them in a column matrix:

Then can be diagonalized as u=v.d.TemplateBox[{v}, ConjugateTranspose] :

A matrix is called normal if n.TemplateBox[{n}, ConjugateTranspose]=TemplateBox[{n}, ConjugateTranspose].n. Normal matrices are the most general kind of matrix that can be unitarily diagonalized as with diagonal and unitary. All Hermitian matrices are normal because both sides of the equality are simply :

Similarly, all antihermitian matrices are normal because both sides of the equality are simply :

Unitary matrices are normal, as substituting in the definition TemplateBox[{u}, ConjugateTranspose]=TemplateBox[{u}, Inverse] gives an identity matrix on both sides:

Show that the following matrix is normal, then diagonalize it:

Confirm using NormalMatrixQ:

A normal matrix like can be unitarily diagonalized using Eigensystem:

The entries on the diagonal can be arbitrary complex numbers:

Normalizing the eigenvectors and putting them in columns gives a unitary matrix:

Confirm the diagonalization n=u.d.TemplateBox[{u}, ConjugateTranspose]:

Properties & Relations  (10)

ConjugateTranspose[m] is equivalent to Conjugate[Transpose[m]]:

ConjugateTranspose obeys TemplateBox[{{(, TemplateBox[{A}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], )}}, ConjugateTranspose]=A:

For compatible matrices and , ConjugateTranspose obeys TemplateBox[{{(, {a, ., b}, )}}, ConjugateTranspose]=TemplateBox[{b}, ConjugateTranspose].TemplateBox[{a}, ConjugateTranspose]:

Matrix inversion commutes with ConjugateTranspose, i.e. TemplateBox[{{(, TemplateBox[{a}, ConjugateTranspose], )}}, Inverse]=TemplateBox[{{(, TemplateBox[{a}, Inverse], )}}, ConjugateTranspose]:

Many special matrices are defined by their properties under ConjugateTranspose. A Hermitian matrix has TemplateBox[{h}, ConjugateTranspose]=h:

A unitary matrix satisfies TemplateBox[{o}, ConjugateTranspose]=TemplateBox[{o}, Inverse]:

The product of a matrix and its conjugate transpose is Hermitian:

is the matrix product of and :

, so is Hermitian:

The sum of a square matrix and its conjugate transpose is Hermitian:

is the matrix sum of and :

, so is Hermitian:

The difference is antihermitian:

Transposition of {{}} returns {}:

The result cannot be {{}} again because the permutation of the dimensions {1,0} is {0,1} and no expression can have dimensions {0,1}:

ConjugateTranspose[a] transposes the first two levels of an array:

ConjugateTranspose[a,perm] returns an array of dimensions Permute[Dimensions[a],perm]:

Wolfram Research (2004), ConjugateTranspose, Wolfram Language function, https://reference.wolfram.com/language/ref/ConjugateTranspose.html.

Text

Wolfram Research (2004), ConjugateTranspose, Wolfram Language function, https://reference.wolfram.com/language/ref/ConjugateTranspose.html.

CMS

Wolfram Language. 2004. "ConjugateTranspose." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ConjugateTranspose.html.

APA

Wolfram Language. (2004). ConjugateTranspose. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConjugateTranspose.html

BibTeX

@misc{reference.wolfram_2021_conjugatetranspose, author="Wolfram Research", title="{ConjugateTranspose}", year="2004", howpublished="\url{https://reference.wolfram.com/language/ref/ConjugateTranspose.html}", note=[Accessed: 21-May-2022 ]}

BibLaTeX

@online{reference.wolfram_2021_conjugatetranspose, organization={Wolfram Research}, title={ConjugateTranspose}, year={2004}, url={https://reference.wolfram.com/language/ref/ConjugateTranspose.html}, note=[Accessed: 21-May-2022 ]}