I don't have tensor in mind here, what follows is just a question about linear algebra: If I start out with an $n\times 1$ column vector over the reals, are there any combinations of matrix multiplications (from either or both sides) that I can do to transform that vector into it's $1\times n$ transpose?

  • 1
    $\begingroup$ The operation $x\mapsto\sum_{i=1}^ne_1^Txe_1^T$ will do the job. Here $\{e_1,e_2,\ldots,e_n\}$ denotes the standard basis. $\endgroup$
    – user1551
    Commented Apr 7 at 15:38
  • 1
    $\begingroup$ @user1551 But those subscript 1s should probably be $i$. $\endgroup$
    – Teepeemm
    Commented Apr 7 at 16:59

3 Answers 3


It is not possible. Let $X$ be an $n \times 1$ column vector. Suppose that there exists two matrices $A$ and $B$ such that $$ AXB = X^\top$$ Since $X^\top$ is $1 \times n$ and $X$ is $n \times 1$, both $A$ and $B$ have to be $1 \times n$. But then $AX$ is $1 \times 1$, i.e. $AX$ is some multiple of $I$ that scales $B$.

Since $X^\top$ must equal $B$ after this scaling, $I$ itself is the only value that is admissible for $AX$.

But this means the multiplication can produce $X^\top$ only when $A$ equals $X^\top$ a priori, showing that $X^\top$ can't be calculated without already knowing what it is.

  • $\begingroup$ I do not understand what you mean by "ill-fated operations on/involving the column vector". $\endgroup$
    – Héhéhé
    Commented Apr 7 at 2:47

The goal is to start out with an $n\times 1$ column vector and end up with a $1\times n$ row vector using matrix multiplication.

Shorter Answer

You can convince yourself [or read the longer answer showing] that the only way to arrive at the desired answer would be to multiply matrices having the dimensions that are forced upon us (or else we could never get the answer we seek) like so:

A $1\times n_{left}$ matrix times an $n\times 1$ matrix times a $1 \times n$ matrix.

But a $1\times n_{left}$ matrix times an $n\times 1$ matrix is the identity matrix, which means the only way to do the desired calculation is to already have the answer that we seek.

Longer Answer

There are three cases to consider:

  1. Only using matrices on the left of the column vector

Assume we have multiplied all the matrices placed to the left of the column vector, we'd finally have a single $m_{left} \times n_{left}$ matrix multiplying our $n\times 1$ column vector. By the rules of matrix multiplication, the final product will be an $m_{left} \times 1$ matrix which can't equal the $1\times n$ row vector we wish to end up with.

  1. Only using matrices on the right of the column vector

Here, we eventually come to our $n\times 1$ column vector multiplying an $m_{right} \times n_{right}$ matrix. The final product will be an $n \times n_{right}$ matrix... which has n rows. But that couldn't be what we were after since $1\times n$ has only one row.

  1. Using matrices on both sides of the column vector

We can jump right to an $m_{left} \times n_{left}$ matrix, times our $n\times 1$ column vector, multiplied by an $m_{right} \times n_{right}$ matrix. This would actually work for $m_{left} = 1$ and $n_{right}=n$. The dimensions then become a $ 1\times n$ matrix times an $n\times 1$ column vector times a $1\times n$ row vector. This is where things take in interesting turn. Carrying out the multiplication starting from the left we end up with a $ 1\times 1$ matrix times that $1\times n$ row vector. This $ 1\times 1$ matrix is nothing but the identity matrix! Which means we must be left with our answer: The $1\times n$ row vector. But recall that this very $1\times n$ row vector was chosen by us to do the multiplication problem to get the row vector we are after. In other words, the only way to do the calculation to manipulate the column vector to it's transpose is to already have the transpose and use it in the calculation to find itself.


If you're willing to consider multiplication by general tensors, and make the following correspondences:

  • Column vectors as vectors with raised indices $v^i$
  • Row vectors as covectors with lowered indices $v_i$

Then there exists a tensor $g_{ij}$ defined by $$ g_{ij}=\begin{cases} 1 & \text{if } i=j \\ 0 & \text{if } i\neq j \end{cases} $$ which transforms the vector $v^j$ into its covector form $v_i$: $$ v_i = \sum_{j}g_{ij}v^j $$

More info: https://en.wikipedia.org/wiki/Raising_and_lowering_indices#Raising_and_lowering_vectors_and_covectors


When one is only working with row/column vectors and 2D matrices, the matrices are typically mixed. That is, a matrix A is typically a tensor of mixed type $a^i_{\,j}$. Loosely speaking, one can see this as a "column vector of row vectors": $$ \begin{bmatrix} \begin{bmatrix} a^1_{\,1} & a^1_{\,2} \end{bmatrix} \\ \begin{bmatrix} a^2_{\,1} & a^2_{\,2} \end{bmatrix} \end{bmatrix} $$ In this context, the above tensor $g_{ij}$ can be thought of as a "row vector of row vectors": $$ \begin{bmatrix} \begin{bmatrix} 1 & 0 & 0 \end{bmatrix} & \begin{bmatrix} 0 & 1 & 0 \end{bmatrix} & \begin{bmatrix} 0 & 0 & 1 \end{bmatrix} \end{bmatrix} $$ When multiplied by a column vector, we get the transpose: $$ \begin{bmatrix} 3 & 4 & 5 \end{bmatrix} = \begin{bmatrix} \begin{bmatrix} 1 & 0 & 0 \end{bmatrix} & \begin{bmatrix} 0 & 1 & 0 \end{bmatrix} & \begin{bmatrix} 0 & 0 & 1 \end{bmatrix} \end{bmatrix} \begin{bmatrix}3 \\ 4 \\ 5 \end{bmatrix} $$