Multiple dimensions and segments or samples

Modules are normally designed to work on vectors. The input variable x, which represents input data ${\bf x}$, is arranged so that the dimensions of the vector extend in the first dimension (column) and additional colums represent additional segments or samples. The feature transformation is applied to each column separately, so that for an input vector ${\bf x}$ of dimension $N\times M$ will produce an output ${\bf z}$ of dimension $D\times M$. The row dimension is preserved. In addition, the inout and output variable jout, the log J-function, is a scalar for each column of ${\bf x}$, so is a $1\times M$ row vector. Additional dimensions are handled similarly. For example, if ${\bf x}$ is of dimension $N\times M \times L$, then ${\bf z}$ will be of dimension $D\times M \times L$, and jout will be a $1\times M\times L$ matrix.