# Swap elements in a matrix

We have an elementary operations of swapping rows and columns of the matrix, i.e. given $$\begin{bmatrix} a & b \\ c & d \end{bmatrix}$$ we can swap rows by $$\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} a & b \\ c & d \end{bmatrix} = \begin{bmatrix} c & d \\ a & b \end{bmatrix}$$

My interest is to swap two adjacent elements in the matrix, and I hopped it could be achieved by some matrix multiplication.

Unfortunately, this is not the case. We expect such transformations to be reversible, but then it is easy to move elements off the main diagonal of the identity matrix to make it singular.

Are there any other elementary operations on matrices, except row/column swap, which shuffles elements of the matrix by the means of matrix multiplication?

Given two matrices $$A$$ and $$B$$, we get the $$i$$th column of $$AB$$ as $$A$$ times the $$i$$th column of $$B$$: $$(AB)_i = A(B_i).$$
This means that by matrix multiplication from the left, we are always applying the exact same operations on every single column of $$B$$. If you have a swap operation, it would thus swap whole rows.
The same is true for multiplication from the left. In $$BA$$, the same operations are applied to every row of $$A$$, so a swap operation would swap whole columns in this case.
Therefore, the answer to your question is no in general. There are, of course, special cases where you can swap elements through matrix multiplication, but these are due to the special structure of the matrix $$B$$ you are acting on, they are not available for all possible $$B$$.