Skip to main content

Would it help for you to think of a matrix as a "big vector"? To see what I mean, if your matrix has components a_{ij}$a_{ij}$, then you could write A = sum_{i,j} a_{i,j} E_{ij}$A = \sum_{i,j} a_{i,j} E_{ij}$, where E_{ij}$E_{ij}$ is a matrix which has all entries as zeros, except having a unity at position (i,j)$(i,j)$. Then your matrix space can be identified with a real Euclidean space R^{nn}, where your matrix A would have its counterpart, call it a = (a_{11}, ..., a_{1n}, a_{21}, ..., a_{nn}). In effect, you are just "stacking" rows/columns of the matrix on top of each other. The transposition operator would then be a linear operator T: R^{nn} -> R^{n*n}$R^{n\times n}$, where your matrix $A$ would have its counterpart, call it $a = (a_{11}, ..., a_{1n}, a_{21}, ..., a_{nn})$. In effect, you are just "stacking" rows/columns of the matrix on top of each other. The transposition operator would then be a linear operator $T: \mathbb R^{n\times n} \to \mathbb{R}^{n\times n}$, i.e., a matrix with n^4$n^4$ entries, and it would be a permutation matrix. Then you could transpose your original matrix by passing through this representation as A -> a -> Ta -> A^T$A \to a \to Ta \to A^T$. The switch from the first (A) to the second representation (a), and back, could be done via the "reshape" command in Matlab.

Would it help for you to think of a matrix as a "big vector"? To see what I mean, if your matrix has components a_{ij}, then you could write A = sum_{i,j} a_{i,j} E_{ij}, where E_{ij} is a matrix which has all entries as zeros, except having a unity at position (i,j). Then your matrix space can be identified with a real Euclidean space R^{nn}, where your matrix A would have its counterpart, call it a = (a_{11}, ..., a_{1n}, a_{21}, ..., a_{nn}). In effect, you are just "stacking" rows/columns of the matrix on top of each other. The transposition operator would then be a linear operator T: R^{nn} -> R^{n*n}, i.e., a matrix with n^4 entries, and it would be a permutation matrix. Then you could transpose your original matrix by passing through this representation as A -> a -> Ta -> A^T. The switch from the first (A) to the second representation (a), and back, could be done via the "reshape" command in Matlab.

Would it help for you to think of a matrix as a "big vector"? To see what I mean, if your matrix has components $a_{ij}$, then you could write $A = \sum_{i,j} a_{i,j} E_{ij}$, where $E_{ij}$ is a matrix which has all entries as zeros, except having a unity at position $(i,j)$. Then your matrix space can be identified with a real Euclidean space $R^{n\times n}$, where your matrix $A$ would have its counterpart, call it $a = (a_{11}, ..., a_{1n}, a_{21}, ..., a_{nn})$. In effect, you are just "stacking" rows/columns of the matrix on top of each other. The transposition operator would then be a linear operator $T: \mathbb R^{n\times n} \to \mathbb{R}^{n\times n}$, i.e., a matrix with $n^4$ entries, and it would be a permutation matrix. Then you could transpose your original matrix by passing through this representation as $A \to a \to Ta \to A^T$. The switch from the first (A) to the second representation (a), and back, could be done via the "reshape" command in Matlab.

Source Link

Would it help for you to think of a matrix as a "big vector"? To see what I mean, if your matrix has components a_{ij}, then you could write A = sum_{i,j} a_{i,j} E_{ij}, where E_{ij} is a matrix which has all entries as zeros, except having a unity at position (i,j). Then your matrix space can be identified with a real Euclidean space R^{nn}, where your matrix A would have its counterpart, call it a = (a_{11}, ..., a_{1n}, a_{21}, ..., a_{nn}). In effect, you are just "stacking" rows/columns of the matrix on top of each other. The transposition operator would then be a linear operator T: R^{nn} -> R^{n*n}, i.e., a matrix with n^4 entries, and it would be a permutation matrix. Then you could transpose your original matrix by passing through this representation as A -> a -> Ta -> A^T. The switch from the first (A) to the second representation (a), and back, could be done via the "reshape" command in Matlab.