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 which flips a matrix over its diagonal; that is, it switches the row and column indices of the matrix A by producing another matrix, often denoted by AT (among other notations).[1]

The transpose of a matrix was introduced in 1858 by the British mathematician Arthur Cayley.[2] In the case of a logical matrix representing a binary relation R, the transpose corresponds to the converse relation RT.

Transpose of a matrix

This article assumes that matrices are taken over a commutative ring. These results may not hold in the non-commutative case.


The transpose of a matrix A, denoted by AT,[3] A, A, ,[4][5] A′,[6] Atr, tA or At, may be constructed by any one of the following methods:

  1. Reflect A over its main diagonal (which runs from top-left to bottom-right) to obtain AT
  2. Write the rows of A as the columns of AT
  3. Write the columns of A as the rows of AT

Formally, the i-th row, j-th column element of AT is the j-th row, i-th column element of A:

If A is an m × n matrix, then AT is an n × m matrix.

In the case of square matrices, AT may also denote the Tth power of the matrix A. For avoiding a possible confusion, many authors use left upperscripts, that is, they denote the transpose as TA. An advantage of this notation is that no parentheses are needed when exponents are involved: as (TA)n = T(An), notation TAn is not ambiguous.

In this article this confusion is avoided by never using the symbol T as a variable name.

Matrix definitions involving transposition

A square matrix whose transpose is equal to itself is called a symmetric matrix; that is, A is symmetric if

A square matrix whose transpose is equal to its negative is called a skew-symmetric matrix; that is, A is skew-symmetric if

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, A is Hermitian if

A square complex matrix whose transpose is equal to the negation of its complex conjugate is called a skew-Hermitian matrix; that is, A is skew-Hermitian if

A square matrix whose transpose is equal to its inverse is called an orthogonal matrix; that is, A is orthogonal if

A square complex matrix whose transpose is equal to its conjugate inverse is called a unitary matrix; that is, A is unitary if



Let A and B be matrices and c be a scalar.


If A is an m × n matrix and AT is its transpose, then the result of matrix multiplication with these two matrices gives two square matrices: A AT is m × m and AT A is n × n. Furthermore, these products are symmetric matrices. Indeed, the matrix product A AT has entries that are the inner product of a row of A with a column of AT. But the columns of AT are the rows of A, so the entry corresponds to the inner product of two rows of A. If pi j is the entry of the product, it is obtained from rows i and j in A. The entry pj i is also obtained from these rows, thus pi j = pj i, and the product matrix (pi j) is symmetric. Similarly, the product AT A is a symmetric matrix.

A quick proof of the symmetry of A AT results from the fact that it is its own transpose:


Implementation of matrix transposition on computers

See also: In-place matrix transposition

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 × m matrix in-place, with O(1) additional storage or at most storage much less than mn. For n ≠ m, 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

See also: Transpose of a linear map

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

Main article: Transpose of a linear map

Let X# denote the algebraic dual space of an R-module X. Let X and Y be R-modules. If u : XY is a linear map, then its algebraic adjoint or dual,[8] is the map u# : Y#X# defined by ffu. The resulting functional u#(f) is called the pullback of f by u. The following relation characterizes the algebraic adjoint of u[9]

u#(f), x = f, u(x)⟩ for all fY# and xX

where ⟨•, •⟩ is the natural pairing (i.e. defined by h, z := h(z)). This definition also applies unchanged to left modules and to vector spaces.[10]

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) X is denoted by X'. If X and Y are TVSs then a linear map u : XY is weakly continuous if and only if u#(Y') ⊆ X', in which case we let tu : Y'X' denote the restriction of u# to Y'. The map tu is called the transpose[11] of u.

If the matrix A describes a linear map with respect to bases of V and W, then the matrix AT describes the transpose of that linear map with respect to the dual bases.

Transpose of a bilinear form

Main article: Bilinear form

Every linear map to the dual space u : XX# defines a bilinear form B : X × XF, with the relation B(x, y) = u(x)(y). By defining the transpose of this bilinear form as the bilinear form tB defined by the transpose tu : X##X# i.e. tB(y, x) = tu(Ψ(y))(x), we find that B(x, y) = tB(y, x). Here, Ψ is the natural homomorphism XX## into the double dual.


Not to be confused with Hermitian adjoint.

If the vector spaces X and Y have respectively nondegenerate bilinear forms BX and BY, a concept known as the adjoint, which is closely related to the transpose, may be defined:

If u : XY is a linear map between vector spaces X and Y, we define g as the adjoint of u if g : YX satisfies

for all xX and yY.

These bilinear forms define an isomorphism between X and X#, and between Y and Y#, resulting in an isomorphism between the transpose and adjoint of u. 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 : YX is equal to u −1 : YX. In particular, this allows the orthogonal group over a vector space X with a quadratic form to be defined without reference to matrices (nor the components thereof) as the set of all linear maps XX 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


  1. ^ Nykamp, Duane. "The transpose of a matrix". Math Insight. Retrieved September 8, 2020.
  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. ^ T.A. Whitelaw (1 April 1991). Introduction to Linear Algebra, 2nd edition. CRC Press. ISBN 978-0-7514-0159-2.
  4. ^ "Transpose of a Matrix Product (ProofWiki)". ProofWiki. Retrieved 4 Feb 2021.
  5. ^ "What is the best symbol for vector/matrix transpose?". Stack Exchange. Retrieved 4 Feb 2021.
  6. ^ Weisstein, Eric W. "Transpose". Retrieved 2020-09-08.
  7. ^ Gilbert Strang (2006) Linear Algebra and its Applications 4th edition, page 51, Thomson Brooks/Cole ISBN 0-03-010567-6
  8. ^ Schaefer & Wolff 1999, p. 128.
  9. ^ Halmos 1974, §44
  10. ^ Bourbaki 1989, II §2.5
  11. ^ Trèves 2006, p. 240.

Further reading