A transpose array, sometimes called simply a transpose, is a grid data structure that reorganizes a previous grid by switching its rows and columns. If an array contains two rows called A and B, and two columns called C and D, the transpose would contain rows C and D, and columns A and B. The X and Y dimensions of an array swap when it is transposed, so if the original array is three rows by two columns, its transposed form will have two rows and three columns. Transposing an array is not the same as rotating it; the process by which it occurs is a little more complicated.
To create a transpose array, an empty grid array must be created that switches the number of rows and columns as described above. Once this grid is created, the contents of the original grid must be placed in the transpose by switching their X and Y location. For example, if in the original grid a data point resided in the second row and fourth column, in the transpose it would reside in the fourth row and second column. If the original array was called Z, the transpose will be called Z^{T}.
The creation of a transpose array is an easy way to reorganize data without losing either data or data integrity, the major goal of the transposition process. A transpose has many uses in math, particularly in matrix multiplication. In matrix multiplication, the number of columns in the first matrix must be equal to the number of columns in the second. Transposing one of the matrices could reorganize one of the component matrices enough to make this possible. When a transpose is created inside a computer program, it can be implemented in such a way that data needs only to be moved, not duplicated.
In math, the contents of a transpose array are usually numbers or something that contains numbers. Transposes are used extensively in high-level math, like calculus and linear algebra, and are usually created as a single step to solving a larger problem. In general, transposes are best suited for manipulating numbers. Although a transpose array can be used to reorganize other things in theory, and its contents aren't explicitly restricted to numeric data, reorganizing text strings or specialized objects is much less likely to yield any useful information simply by virtue of the reorganization.