are advantageous for use in forward and backward decoding algorithms [@vp].

[@h] \
Let $\mathfrak{C}$ be an $(n,k,\delta)$ convolutional code with right prime minimal generator matrix $G(z)$, which has entries $g_{ij}(z)$. Set $\overline{g_{ij}(z)}:=z^{\delta_j}g_{ij}(z^{-1})$. Then, the code $\overline{\mathfrak{C}}$ with generator matrix $\overline{G(z)}$, which has $\overline{g_{ij}(z)}$ as entries, is also an $(n,k,\delta)$ convolutional code, which is called the **reverse code** to $\mathfrak{C}$.\
It holds: $v_0+\cdots+v_dz^d\in\overline{\mathfrak{C}}\ \Leftrightarrow\ v_d+\cdots+v_0z^d\in\mathfrak{C}$.

[@vp] \
Let $\mathfrak{C}$ be an MDP convolutional code. If $\overline{\mathfrak{C}}$ is also MDP, $\mathfrak{C}$ is called **reverse MDP** convolutional code.

[@vp] \
Let $(n-k)\mid\delta$ and $H(z) = H_0 + \cdots +H_{\nu}z^{\nu}$ be a left prime and row proper parity-check matrix of the MDP code $\mathfrak{C}$. Then the reverse code $\overline{\mathfrak{C}}$ has parity-check matrix $\overline{H(z)} = H_{\nu} +\cdots +H_0z^{\nu}$. Therefore, $\mathfrak{C}$ is reverse MDP if and only if every full size minor of the matrix $$\mathfrak{H}_L:=\left[\begin{array}{ccc} H_{\nu} & \cdots & H_{\nu-L}\\  & \ddots & \vdots \\ 0 &  & H_{\nu} \end{array}\right]$$ formed from the columns with indices $j_1,\hdots,j_{(L+1)(n-k)}$ with $j_{s(n-k)+1} > sn$, for $s = 1,\hdots,L$ is nonzero.

Next, we introduce complete MDP convolutional codes, which are even more advantageous for decoding than reverse MDP convolutional codes [@vp].

[@vp]\[com\] \
Let $H(z)=H_0+H_1z+\cdots H_{\nu}z^{\nu}\in\mathbb F[z]^{(n-k)\times n}$ 