# Correct notation for writing array reshape

Suppose I am coding in python.

Then one can do e.g. something like this:

import numpy as np
A = np.random.rand((6,6))
# Lets reshape it
A_new = A.reshape(-1,3)


So it went from 2D array (matrix) to a 2D array with six 12 rows and three columns.

How would one write the re-shape operation formally in mathematical notation? Transpose is obviously easy, but is there a parallel for reshapes?

$$\mathbf{A} \in \mathbb{R}^{6\times6} \rightarrow \mathbf{A} \in \mathbb{R}^{12 \times 3}$$

Thx

The operation $$\mathbb{R}^{n\times m}\to\mathbb{R}^{nm}$$ is called vectorization and often is denoted with $$\mathop{\mathrm{vec}}()$$. Creating a matrix from vector is an inverse $$\mathop{\mathrm{vec}^{-1}}()$$. When one can't deduce what are the dimensions of new matrix, they can be given as sub-indices: $$\mathop{\mathrm{vec}^{-1}_{3,4}}(\mathbf v)$$ will produce the matrix $$3\times 4$$. To sum up, you can write: $$\mathop{\mathrm{vec}^{-1}_{12,3}}\circ\mathop{\mathrm{vec}}: \mathbb{R}^{6\times 6}\to\mathbb{R}^{12,3},\\ A'= \mathop{\mathrm{vec}^{-1}_{12,3}}(\mathop{\mathrm{vec}}(A)).$$