Transpose

From Wikipedia, the free encyclopedia
(Redirected from Transpose of a matrix)
Jump to navigation Jump to search

Template:Short description Script error: No such module "about".

File:Matrix transpose.gif
The transpose AT of a matrix A can be obtained by reflecting the elements along its main diagonal. Repeating the process on the transposed matrix returns the elements to their original position.

In linear algebra, the transpose of a matrix is an operator that flips a matrix over its diagonal; that is, transposition switches the row and column indices of the matrix AScript error: No such module "Check for unknown parameters". to produce another matrix, often denoted ATScript error: No such module "Check for unknown parameters". (among other notations).[1]

The transpose of a matrix was introduced in 1858 by the British mathematician Arthur Cayley.[2]

Transpose of a matrix

Script error: No such module "Hatnote".

Definition

The transpose of a matrix AScript error: No such module "Check for unknown parameters"., denoted by ATScript error: No such module "Check for unknown parameters".,[3] TAScript error: No such module "Check for unknown parameters"., AtrScript error: No such module "Check for unknown parameters"., tAScript error: No such module "Check for unknown parameters". or AtScript error: No such module "Check for unknown parameters"., may be constructed by any of the following methods:

  1. Reflect AScript error: No such module "Check for unknown parameters". over its main diagonal (which runs from the top left to the bottom right) to obtain ATScript error: No such module "Check for unknown parameters".
  2. Write the rows of AScript error: No such module "Check for unknown parameters". as the columns of ATScript error: No such module "Check for unknown parameters".
  3. Write the columns of AScript error: No such module "Check for unknown parameters". as the rows of ATScript error: No such module "Check for unknown parameters".

Formally, the Template:Mvarth row, Template:Mvarth column element of ATScript error: No such module "Check for unknown parameters". is the Template:Mvarth row, Template:Mvarth column element of AScript error: No such module "Check for unknown parameters".:

[𝐀T]ij=[𝐀]ji.

If AScript error: No such module "Check for unknown parameters". is an m × nScript error: No such module "Check for unknown parameters". matrix, then ATScript error: No such module "Check for unknown parameters". is an n × mScript error: No such module "Check for unknown parameters". matrix.

Matrix definitions involving transposition

A square matrix whose transpose is equal to itself is called a symmetric matrix; that is, AScript error: No such module "Check for unknown parameters". is symmetric if

𝐀T=𝐀.

A square matrix whose transpose is equal to its negative is called a skew-symmetric matrix; that is, AScript error: No such module "Check for unknown parameters". is skew-symmetric if

𝐀T=𝐀.

A square complex matrix whose transpose is equal to the matrix with every entry replaced by its complex conjugate (denoted here with an overline) is called a Hermitian matrix (equivalent to the matrix being equal to its conjugate transpose); that is, AScript error: No such module "Check for unknown parameters". is Hermitian if

𝐀T=𝐀.

A square complex matrix whose transpose is equal to the negation of its complex conjugate is called a skew-Hermitian matrix; that is, AScript error: No such module "Check for unknown parameters". is skew-Hermitian if

𝐀T=𝐀.

A square matrix whose transpose is equal to its inverse is called an orthogonal matrix; that is, AScript error: No such module "Check for unknown parameters". is orthogonal if

𝐀T=𝐀1.

A square complex matrix whose transpose is equal to its conjugate inverse is called a unitary matrix; that is, AScript error: No such module "Check for unknown parameters". is unitary if

𝐀T=𝐀1.

Examples

  • [12]T=[12]
  • [1234]T=[1324]
  • [123456]T=[135246]

Properties

Let AScript error: No such module "Check for unknown parameters". and BScript error: No such module "Check for unknown parameters". be matrices and Template:Mvar be a scalar.

  • (𝐀T)T=𝐀.
    The operation of taking the transpose is an involution (self-inverse).
  • (𝐀+𝐁)T=𝐀T+𝐁T.
    The transpose respects addition.
  • (c𝐀)T=c(𝐀T).
    The transpose of a scalar is the same scalar. Together with the preceding property, this implies that the transpose is a linear map from the space of m × nScript error: No such module "Check for unknown parameters". matrices to the space of the n × mScript error: No such module "Check for unknown parameters". matrices.
  • (𝐀𝐁)T=𝐁T𝐀T.
    The order of the factors reverses. By induction, this result extends to the general case of multiple matrices, so
    (A1A2...Ak−1Ak)T = AkTAk−1TA2TA1TScript error: No such module "Check for unknown parameters"..
  • det(𝐀T)=det(𝐀).
    The determinant of a square matrix is the same as the determinant of its transpose.
  • The dot product of two column vectors aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". can be computed as the single entry of the matrix product𝐚𝐛=𝐚T𝐛.
  • If AScript error: No such module "Check for unknown parameters". has only real entries, then ATAScript error: No such module "Check for unknown parameters". is a positive-semidefinite matrix.
  • (𝐀T)1=(𝐀1)T.
    The transpose of an invertible matrix is also invertible, and its inverse is the transpose of the inverse of the original matrix.Script error: No such module "string".The notation A−TScript error: No such module "Check for unknown parameters". is sometimes used to represent either of these equivalent expressions.
  • If AScript error: No such module "Check for unknown parameters". is a square matrix, then its eigenvalues are equal to the eigenvalues of its transpose, since they share the same characteristic polynomial.
  • (𝐀𝐚)𝐛=𝐚(𝐀T𝐛) for two column vectors 𝐚,𝐛 and the standard dot product.
  • Over any field k, a square matrix 𝐀 is similar to 𝐀T.
    This implies that 𝐀 and 𝐀T have the same invariant factors, which implies they share the same minimal polynomial, characteristic polynomial, and eigenvalues, among other properties.
    A proof of this property uses the following two observations.
    • Let 𝐀 and 𝐁 be n×n matrices over some base field k and let L be a field extension of k. If 𝐀 and 𝐁 are similar as matrices over L, then they are similar over k. In particular this applies when L is the algebraic closure of k.
    • If 𝐀 is a matrix over an algebraically closed field in Jordan normal form with respect to some basis, then 𝐀 is similar to 𝐀T. This further reduces to proving the same fact when 𝐀 is a single Jordan block, which is a straightforward exercise.

Products

If AScript error: No such module "Check for unknown parameters". is an m × nScript error: No such module "Check for unknown parameters". matrix and ATScript error: No such module "Check for unknown parameters". is its transpose, then the result of matrix multiplication with these two matrices gives two square matrices: A ATScript error: No such module "Check for unknown parameters". is m × mScript error: No such module "Check for unknown parameters". and AT AScript error: No such module "Check for unknown parameters". is n × nScript error: No such module "Check for unknown parameters".. Furthermore, these products are symmetric matrices. Indeed, the matrix product A ATScript error: No such module "Check for unknown parameters". has entries that are the inner product of a row of AScript error: No such module "Check for unknown parameters". with a column of ATScript error: No such module "Check for unknown parameters".. But the columns of ATScript error: No such module "Check for unknown parameters". are the rows of AScript error: No such module "Check for unknown parameters"., so the entry corresponds to the inner product of two rows of AScript error: No such module "Check for unknown parameters".. If pijScript error: No such module "Check for unknown parameters". is the entry of the product, it is obtained from rows Template:Mvar and Template:Mvar in AScript error: No such module "Check for unknown parameters".. The entry pjiScript error: No such module "Check for unknown parameters". is also obtained from these rows, thus pij = pjiScript error: No such module "Check for unknown parameters"., and the product matrix (pijScript error: No such module "Check for unknown parameters".) is symmetric. Similarly, the product AT AScript error: No such module "Check for unknown parameters". is a symmetric matrix.

A quick proof of the symmetry of A ATScript error: No such module "Check for unknown parameters". results from the fact that it is its own transpose:

(𝐀𝐀T)T=(𝐀T)T𝐀T=𝐀𝐀T.[4]

Implementation of matrix transposition on computers

Script error: No such module "Labelled list hatnote".

File:Row and column major order.svg
Illustration of row- and column-major order

On a computer, one can often avoid explicitly transposing a matrix in memory by simply accessing the same data in a different order. For example, software libraries for linear algebra, such as BLAS, typically provide options to specify that certain matrices are to be interpreted in transposed order to avoid the necessity of data movement.

However, there remain a number of circumstances in which it is necessary or desirable to physically reorder a matrix in memory to its transposed ordering. For example, with a matrix stored in row-major order, the rows of the matrix are contiguous in memory and the columns are discontiguous. If repeated operations need to be performed on the columns, for example in a fast Fourier transform algorithm, transposing the matrix in memory (to make the columns contiguous) may improve performance by increasing memory locality.

Ideally, one might hope to transpose a matrix with minimal additional storage. This leads to the problem of transposing an n × mScript error: No such module "Check for unknown parameters". matrix in-place, with O(1) additional storage or at most storage much less than mnScript error: No such module "Check for unknown parameters".. For nmScript error: No such module "Check for unknown parameters"., this involves a complicated permutation of the data elements that is non-trivial to implement in-place. Therefore, efficient in-place matrix transposition has been the subject of numerous research publications in computer science, starting in the late 1950s, and several algorithms have been developed.

Transposes of linear maps and bilinear forms

Script error: No such module "Labelled list hatnote".

As the main use of matrices is to represent linear maps between finite-dimensional vector spaces, the transpose is an operation on matrices that may be seen as the representation of some operation on linear maps.

This leads to a much more general definition of the transpose that works on every linear map, even when linear maps cannot be represented by matrices (such as in the case of infinite dimensional vector spaces). In the finite dimensional case, the matrix representing the transpose of a linear map is the transpose of the matrix representing the linear map, independently of the basis choice.

Transpose of a linear map

Script error: No such module "Labelled list hatnote".

Let X#Script error: No such module "Check for unknown parameters". denote the algebraic dual space of an Template:Mvar-module Template:Mvar. Let Template:Mvar and Template:Mvar be Template:Mvar-modules. If u : XYScript error: No such module "Check for unknown parameters". is a linear map, then its algebraic adjoint or dual,Template:Sfn is the map u# : Y#X#Script error: No such module "Check for unknown parameters". defined by f Template:Mapsto fuScript error: No such module "Check for unknown parameters".. The resulting functional u#(f)Script error: No such module "Check for unknown parameters". is called the pullback of Template:Mvar by Template:Mvar. The following relation characterizes the algebraic adjoint of Template:Mvar[5]

Template:Angbr = Template:AngbrScript error: No such module "Check for unknown parameters". for all fY#Script error: No such module "Check for unknown parameters". and xXScript error: No such module "Check for unknown parameters".

where Template:AngbrScript error: No such module "Check for unknown parameters". is the natural pairing (i.e. defined by Template:Angbr := h(z)Script error: No such module "Check for unknown parameters".). This definition also applies unchanged to left modules and to vector spaces.[6]

The definition of the transpose may be seen to be independent of any bilinear form on the modules, unlike the adjoint (below).

The continuous dual space of a topological vector space (TVS) Template:Mvar is denoted by XTemplate:′Script error: No such module "Check for unknown parameters".. If Template:Mvar and Template:Mvar are TVSs then a linear map u : XYScript error: No such module "Check for unknown parameters". is weakly continuous if and only if u#(YTemplate:′) ⊆ XTemplate:′Script error: No such module "Check for unknown parameters"., in which case we let tu : YTemplate:′XTemplate:′Script error: No such module "Check for unknown parameters". denote the restriction of u#Script error: No such module "Check for unknown parameters". to YTemplate:′Script error: No such module "Check for unknown parameters".. The map tuScript error: No such module "Check for unknown parameters". is called the transposeTemplate:Sfn of Template:Mvar.

If the matrix AScript error: No such module "Check for unknown parameters". describes a linear map with respect to bases of Template:Mvar and Template:Mvar, then the matrix ATScript error: No such module "Check for unknown parameters". describes the transpose of that linear map with respect to the dual bases.

Transpose of a bilinear form

Script error: No such module "Labelled list hatnote".

Every linear map to the dual space u : XX#Script error: No such module "Check for unknown parameters". defines a bilinear form B : X × XFScript error: No such module "Check for unknown parameters"., with the relation B(x, y) = u(x)(y)Script error: No such module "Check for unknown parameters".. By defining the transpose of this bilinear form as the bilinear form Template:Mvar defined by the transpose tu : X##X#Script error: No such module "Check for unknown parameters". i.e. tB(y, x) = tu(Ψ(y))(x)Script error: No such module "Check for unknown parameters"., we find that B(x, y) = tB(y, x)Script error: No such module "Check for unknown parameters".. Here, Template:Mvar is the natural homomorphism XX##Script error: No such module "Check for unknown parameters". into the double dual.

Adjoint

Script error: No such module "Distinguish".

If the vector spaces Template:Mvar and Template:Mvar have respectively nondegenerate bilinear forms BXScript error: No such module "Check for unknown parameters". and BYScript error: No such module "Check for unknown parameters"., a concept known as the adjoint, which is closely related to the transpose, may be defined:

If u : XYScript error: No such module "Check for unknown parameters". is a linear map between vector spaces Template:Mvar and Template:Mvar, we define Template:Mvar as the adjoint of Template:Mvar if g : YXScript error: No such module "Check for unknown parameters". satisfies

BX(x,g(y))=BY(u(x),y) for all xXScript error: No such module "Check for unknown parameters". and yYScript error: No such module "Check for unknown parameters"..

These bilinear forms define an isomorphism between Template:Mvar and X#Script error: No such module "Check for unknown parameters"., and between Template:Mvar and Y#Script error: No such module "Check for unknown parameters"., resulting in an isomorphism between the transpose and adjoint of Template:Mvar. The matrix of the adjoint of a map is the transposed matrix only if the bases are orthonormal with respect to their bilinear forms. In this context, many authors however, use the term transpose to refer to the adjoint as defined here.

The adjoint allows us to consider whether g : YXScript error: No such module "Check for unknown parameters". is equal to u −1 : YXScript error: No such module "Check for unknown parameters".. In particular, this allows the orthogonal group over a vector space Template:Mvar with a quadratic form to be defined without reference to matrices (nor the components thereof) as the set of all linear maps XXScript error: No such module "Check for unknown parameters". for which the adjoint equals the inverse.

Over a complex vector space, one often works with sesquilinear forms (conjugate-linear in one argument) instead of bilinear forms. The Hermitian adjoint of a map between such spaces is defined similarly, and the matrix of the Hermitian adjoint is given by the conjugate transpose matrix if the bases are orthonormal.

See also

References

<templatestyles src="Reflist/styles.css" />

  1. Script error: No such module "citation/CS1".
  2. Arthur Cayley (1858) "A memoir on the theory of matrices", Philosophical Transactions of the Royal Society of London, 148 : 17–37. The transpose (or "transposition") is defined on page 31.
  3. Script error: No such module "citation/CS1".
  4. Gilbert Strang (2006) Linear Algebra and its Applications 4th edition, page 51, Thomson Brooks/Cole Template:ISBN
  5. Script error: No such module "Footnotes".
  6. Script error: No such module "Footnotes".

Script error: No such module "Check for unknown parameters".

Further reading

External links

Script error: No such module "Navbox".

Template:Tensors