Transpose
Template:Short description Script error: No such module "about".
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:
- 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".
- 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".
- 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".:
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
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
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
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
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
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
Examples
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.
-
- The operation of taking the transpose is an involution (self-inverse).
-
- The transpose respects addition.
-
- 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.
-
- The order of the factors reverses. By induction, this result extends to the general case of multiple matrices, so
- (A1A2...Ak−1Ak)T = AkTAk−1T…A2TA1TScript error: No such module "Check for unknown parameters"..
- The order of the factors reverses. By induction, this result extends to the general case of multiple matrices, so
-
- 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
- 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.
-
- 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.
- for two column vectors and the standard dot product.
- Over any field , a square matrix is similar to .
- This implies that and 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 matrices over some base field and let be a field extension of . If and are similar as matrices over , then they are similar over . In particular this applies when is the algebraic closure of .
- If is a matrix over an algebraically closed field in Jordan normal form with respect to some basis, then is similar to . 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:
Implementation of matrix transposition on computers
Script error: No such module "Labelled list hatnote".
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 n ≠ mScript 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 : X → YScript 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 f ∘ uScript 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 f ∈ Y#Script error: No such module "Check for unknown parameters". and x ∈ XScript 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 : X → YScript 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 : X → X#Script error: No such module "Check for unknown parameters". defines a bilinear form B : X × X → FScript 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 X → X##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 : X → YScript 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 : Y → XScript error: No such module "Check for unknown parameters". satisfies
- for all x ∈ XScript error: No such module "Check for unknown parameters". and y ∈ YScript 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 : Y → XScript error: No such module "Check for unknown parameters". is equal to u −1 : Y → XScript 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 X → XScript 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
- Adjugate matrix, the transpose of the cofactor matrix
- Conjugate transpose
- Converse relation
- Moore–Penrose pseudoinverse
- Projection (linear algebra)
References
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "citation/CS1".
- ↑ 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.
- ↑ Script error: No such module "citation/CS1".
- ↑ Gilbert Strang (2006) Linear Algebra and its Applications 4th edition, page 51, Thomson Brooks/Cole Template:ISBN
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
Script error: No such module "Check for unknown parameters".
Further reading
- Script error: No such module "citation/CS1"..
- Script error: No such module "citation/CS1".
- Template:Schaefer Wolff Topological Vector Spaces
- Template:Trèves François Topological vector spaces, distributions and kernels
- Script error: No such module "citation/CS1".
External links
- Gilbert Strang (Spring 2010) Linear Algebra from MIT Open Courseware
Script error: No such module "Navbox".