1
$\begingroup$

Given $k$ column vectors $$x_1,x_2,\dots,x_k$$ each in $\mathcal{R}^{d}$, suppose we want to obtain a single column vector $\bar{x} \in \mathcal{R^{kd}}$ which is the vertical concatenation of the $x_i$ such that

$$ \bar{x} = x_1 \oplus x_2 \oplus \dots \oplus x_k=\begin{pmatrix} x_1\\x_2\\\vdots\\x_k \end{pmatrix} $$

Is there a clever way to express this operation using linear algebra (i.e. using Matrix-Matrix operations)? For instance, placing the $x_i$ as the columns of some matrix, and applying a transformation.1

One immediate issue is that the underlying concatenation operation is not a typical linear operation...

1 If $M$ is this matrix, it can be vectorized columnwise in MATLAB using $M(:)$ operation

$\endgroup$
  • $\begingroup$ I think the best way to express it is as you have done: $\overline{x} = x_1 \oplus x_2 \oplus \ldots \oplus x_k$. $\endgroup$ – David Mehrle Jul 21 '14 at 3:00
  • $\begingroup$ I don't see why so many people want things expressed algebraically when such is bound to be tedious, complicated, artificial, and just using language would be much more natural. $\endgroup$ – blue Jul 21 '14 at 3:12
  • $\begingroup$ @blue, I am just interested. $\endgroup$ – jII Jul 21 '14 at 3:15
2
$\begingroup$

This may or may not be helpful.

For $m \in \{1, \dots, k\}$, let $A_m = [(a_m)_{i,j}]$ be the $kd\times d$ matrix given by

$$(a_m)_{i,j} = \begin{cases}1 & i - d(m-1) = j\\ 0 & \text{otherwise}. \end{cases}$$

Then, if you set $\overline{x} = F(x_1, \dots, x_k)$, we have $F(x_1, \dots, x_k) = A_1x_1 + \dots + A_kx_k$.

Despite the definition above, $A_m$ is quite a simple matrix. It consists of $(m-1)$ copies of the $d\times d$ zero matrix stacked vertically, followed by a single copy of the $d\times d$ identity matrix, then $k - m$ copies of the $d\times d$ zero matrix.

$\endgroup$
  • $\begingroup$ Quite creative! $\endgroup$ – jII Jul 21 '14 at 3:25
0
$\begingroup$

For the record, this is called matrix vectorization: a linear transformation which converts the matrix into a column vector, denoted by vec(A). For the properties, and hopefully a representation you're after, see the link and references therein.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.