text:
\section{Introduction}

Interleaved codes are direct sums of codes of the same length, where the summands are termed \emph{constituent codes} and their number is called \emph{interleaving order}.
By assuming that errors occur in certain patterns, it is possible to correct more errors than half the minimum distance.

In the Hamming metric, interleaved codes have been considered for replicated file disagreement location \cite{metzner1990general}, correcting burst errors in data-storage applications \cite{krachkovsky1997decoding}, suitable outer codes in concatenated codes \cite{metzner1990general,krachkovsky1998decoding,haslach1999decoding,justesen2004decoding,schmidt2005interleaved,schmidt2009collaborative}, an ALOHA-like random-access scheme \cite{haslach1999decoding}, decoding non-interleaved codes beyond half-the-minimum distance by power decoding \cite{schmidt2010syndrome,kampf2014bounds,rosenkilde2018power,puchinger2019improved}, and recently for code-based cryptography \cite{elleuch2018interleaved,holzbaur2019decoding}.
In all these works, the errors are assumed to be matrices with only a few non-zero columns which are added to an interleaved codeword matrix where each row is a codeword of the constituent code.
This means that the errors affect the same positions in the constituent codes (burst errors) and the number of errors is given by the number of non-zero columns of the error matrix.

There exist several decoding algorithms for interleaved Reed--Solomon codes that, for interleaving order at least two, decode beyond half the minimum distance and also beyond the Johnson radius \cite{krachkovsky1997decoding,bleichenbacher2003decoding,coppersmith2003reconstructing,parvaresh2004multivariate,brown2004probabilistic,parvaresh2007algebraic,schmidt2007enhancing,schmidt2009collaborative,cohn2013approximate,nielsen2013generalised,wachterzeh2014decoding,puchinger2017irs,yu2018simultaneous}. Beyond the unique decoding radius, decoding sometimes fails, but with a small probability
which can be bounded from above and roughly estimated by $1/q$ where $q$ is the field size of the constituent code.

Already in 1990, Metzner and Kapturowski \cite{metzner1990general} introduced a decoding algorithm for interleaved codes in the Hamming metric, where the constituent codes are the same (\emph{homogeneous interleaved codes}) and have minimum distance $d$.
The decoder can correct up to $d-2$ errors, given that the interleaving order is high enough (i.e., at least the number of errors) and that the rank of the error matrix equals the number of errors.
We want to stress that this decoding algorithm works for interleaved codes with arbitrary constituent codes, is purely based on linear-algebraic operations (i.e., row operations on matrices), and has complexity quadratic in the code length and linear in the interleaving order.
This is remarkable since the code can correct most error patterns up to almost the minimum distance of the code without assuming any side information about the error (e.g., as for erasures, where the error positions are known).
The result by Metzner and Kapturowski was later independently rediscovered in \cite{haslach1999decoding} and generalized to dependent errors by the same authors in \cite{haslach2000efficient}.

Rank-metric codes are sets of vectors over an extension field, whose elements can be interpreted as matrices over a subfield and whose distance is given by the rank of their difference.
The codes were independently introduced in \cite{Delsarte_1978,Gabidulin_TheoryOfCodes_1985,Roth_RankCodes_1991}, together with their most famous code class, Gabidulin codes, which can be seen as the rank-metric analogs of Reed--Solomon codes.

Interleaved codes in the rank metric were introduced in \cite{loidreau2006decoding} and \cite{silva2008rank}, and have found applications in code-based cryptography \cite{faure2006new,Gaborit-KeyRecoveryFaureLoidreau,wachter2018repairing,renner2018rank}, network coding \cite{silva2008rank,sidorenko2010decoding}, and construction and decoding of space-time codes \cite{gabidulin2000space,lusina2002spacetime,liu2002rank,lusina2003,robert2015new,puchinger2016space}.

Similar to the Hamming metric, in the rank metric, the errors occur as additive matrices, but their structure is different: the row spaces
of the constituent errors
are contained in a relatively small joint row space whose dimension is the number of errors.
This (joint) row space is usually seen as the rank-metric analog to the \emph{support} of an error
\cite{Gabidulin_TheoryOfCodes_1985,Roth_RankCodes_1991,chabaud1996rsd,ourivski2002new,gaborit2016decoding,aragon:ISIT18}.

There are several algorithms for decoding interleaved Gabidulin codes \cite{loidreau2006decoding,sidorenko2010decoding,wachter2014list}, as well as efficient variants thereof \cite{sidorenko2011skew,sidorenko2014fast,puchinger2017row,puchinger2017alekhnovich}, which are able to correct most (but not all) error patterns up to a certain number of errors that is beyond half the minimum distance for interleaving orders at least two.

In this paper, we adapt Metzner and Kapturowski's algorithm to the rank metric.
As a result, we obtain an algorithm that can correct up to $d-2$ rank errors with a homogeneous interleaved code over an arbitrary constituent code of minimum rank distance $d$. The success conditions are the same as in Hamming metric: the interleaving order must be large enough and the rank of the error matrix (over the extension field) must be equal to the number of errors.
The new algorithm also works for arbitrary linear rank-metric codes, including, but not limited to, Gabidulin \cite{Delsarte_1978,Gabidulin_TheoryOfCodes_1985,Roth_RankCodes_1991}, generalized Gabidulin \cite{roth1996tensor,kshevetskiy2005new,augot2013rank}, low-rank-parity-check (LRPC) \cite{gaborit2013low}, Loidreau's Gabidulin-like \cite{loidreau2016evolution}, or twisted Gabidulin codes \cite{sheekey2016new,otal2016explicit} and their generalizations \cite{lunardon2015generalized,puchinger2017further}.
The algorithm is again purely based on linear-algebraic operations and has a complexity of
\begin{align*}
O^\sim\!\left( \max\{n^2\ell,n^3\} m \right)
\end{align*}
operations over the subfield $\ensuremath{\mathbb{F}_q}$, where $O^\sim$ neglects log factors, $n$ is the code length, $\ell$ is the interleaving degree, and $m$ is the extension degree of the extension field $\ensuremath{\mathbb{F}_{q^m}}$ over the subfield~$\ensuremath{\mathbb{F}_q}$. We prove that for random errors of a given weight and growing interleaving order, the success probability gets arbitrarily close to $1$. Further, we derive sufficient conditions on the error for which the decoder is able to correct more than $d-2$ errors and present an adaption to certain heterogeneous codes. In addition, we show that by viewing a homogeneous interleaved code as a linear code over a large extension field, one obtains a (non-interleaved) linear rank-metric code and the proposed decoder corrects almost any error of rank weight up to $d-2$ in this code. Finally, we prove that in the case of Gabidulin codes, the new decoder succeeds under the same conditions as the known decoding algorithms.

The structure of this paper is as follows. In Section~\ref{sec:preliminaries}, we introduce notation, give definition,s and recall the Hamming-metric algorithm by Metzner and Kapturowski. In Section~\ref{sec:new_algorithm}, we propose the new algorithm, prove its correctness, analyze its complexity, compare it to the algorithm in Hamming metric, and give an example. In Section~\ref{sec:further_results}, we show further results including the success probability of the new decoder for random errors, sufficient conditions to successfully decode more than $d-2$ errors, an adaptation to heterogeneous interleaved codes, and relations to existing decoders. Conclusions and open problems are given in Section~\ref{sec:conclusion}.

\section{Preliminaries}\label{sec:preliminaries}
\subsection{Notation}
Let $q$ be a power of a prime and let
$\ensuremath{\mathbb{F}_q}$ denote the finite field of order $q$ and $\ensuremath{\mathbb{F}_{q^m}}$ its extension field of order $q^m$.
Any element of $\ensuremath{\mathbb{F}_q}$ can be seen as an element of $\ensuremath{\mathbb{F}_{q^m}}$ and $\ensuremath{\mathbb{F}_{q^m}}$ is an $m$-dimensional vector space over $\ensuremath{\mathbb{F}_q}$.

We use $\ensuremath{\mathbb{F}_q}^{m \times n}$ to denote the set of all $m\times n$ matrices over $\ensuremath{\mathbb{F}_q}$ and $\ensuremath{\mathbb{F}_{q^m}}^n =\ensuremath{\mathbb{F}_{q^m}}^{1 \times n}$ for the set of all row vectors of length $n$ over $\ensuremath{\mathbb{F}_{q^m}}$. Rows and columns of $m\times n$-matrices are indexed by $1,\dots, m$ and $1,\dots, n$, where $A_{i,j}$ is the element in the $i$-th row and $j$-th column of the matrix $\ve{A}$. The transposition of a matrix is indicated by superscript $\top$ and $\rref{\ve{A}}$ refers to a reduced row echelon form of $\ve{A}$. Further, we define the set of integers $[a:b] := \{i: a \leq i \leq b\}$ and the submatrix notation
\begin{equation*}
  \ve{A}_{[a:b],[c:d]} :=
  \begin{mymatrix}
    A_{a,c}& \hdots& A_{a,d}\\
    \vdots & \ddots& \vdots \\
    A_{b,c}& \hdots& A_{b,d}\\
  \end{mymatrix}.
\end{equation*}

Let $ \ve{\gamma} = \begin{mymatrix}\gamma_1,\gamma_2,\dots,\gamma_{m}\end{mymatrix}$ be an ordered basis of $\ensuremath{\mathbb{F}_{q^m}}$ over $\ensuremath{\mathbb{F}_q}$. By utilizing the vector space isomorphism $\ensuremath{\mathbb{F}_{q^m}} \cong \ensuremath{\mathbb{F}_q}^m$, we can relate each vector $\a \in \ensuremath{\mathbb{F}_{q^m}}^n$ to a matrix $\ve{A} \in \ensuremath{\mathbb{F}_q}^{m \times n}$ according to
\begin{align*}
  \extsmallfield:\ensuremath{\mathbb{F}_{q^m}}^{n} &\rightarrow \ensuremath{\mathbb{F}_q}^{m \times n}\label{eq:mapping_smallfield},\\
  ~\a = \begin{mymatrix}a_1,\hdots,a_n\end{mymatrix} &\mapsto \ve{A} =
                                                       \begin{mymatrix}
                                                         A_{1,1}& \hdots& A_{1,n}\\
                                                         \vdots & \ddots& \vdots \\
                                                         A_{m,1}& \hdots& A_{m,n}\\
                                                         \end{mymatrix},
\end{align*}
where $a_j = \sum_{i=1}^{m} A_{i,j} \gamma_i$ for all $j \in [1,n]$.
Further, we extend the definition of $\extsmallfield$ to matrices by extending each row and then vertically concatenating the resulting matrices. A property that will be used in the paper is that if $\ve{B} \in \ensuremath{\mathbb{F}_q}^{t \times n}$ is a matrix from the small field $\ensuremath{\mathbb{F}_q}$ and $\v \in \ensuremath{\mathbb{F}_{q^m}}^{n}$, then
$\extsmallfield(\v \ve{B}^{\top}) = \extsmallfield(\v) \ve{B}^{\top}$.

Let $\mathcal{V}$ be a vector space. By $\mathcal{V}^{\bot}$, we indicate the dual space of $\mathcal{V}$, i.e.,
\begin{equation*}
\mathcal{V}^{\bot} := \{ \v': \v'\v^{\top} = 0, \forall \v \in \mathcal{V} \}.
  \end{equation*}

In the following, let $\mathbb{F} \in \{\ensuremath{\mathbb{F}_q},\ensuremath{\mathbb{F}_{q^m}}\}$.
We deliberately allow $\mathbb{F}$ to be the extension field $\ensuremath{\mathbb{F}_{q^m}}$ or a subfield thereof.
Since then always $\mathbb{F} \subseteq \ensuremath{\mathbb{F}_{q^m}}$, operations between elements of $\mathbb{F}$ and $\ensuremath{\mathbb{F}_{q^m}}$ are well-defined.
This will be used several times throughout the paper.
The ($\mathbb{F}$-)span of vectors $\v_1,\dots,\v_l \in \ensuremath{\mathbb{F}_{q^m}}^n$ is defined by the ($\mathbb{F}$-)vector space
\begin{equation*}
\langle\v_1,\hdots,\v_l\rangle_{\mathbb{F}} = \bigg\{\sum_{i=1}^{l}a_i\v_i \, : \, \ a_i \in \mathbb{F} \bigg\}.
\end{equation*}
The ($\mathbb{F}$-)row space of a matrix $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{m\times n}$ is the ($\mathbb{F}$-)vector space spanned by its rows,
\begin{equation*}
\rspace{\ve{A}}{\mathbb{F}} = \big \langle \begin{mymatrix} A_{1,1}, \hdots, A_{1,n} \end{mymatrix},\hdots,\begin{mymatrix} A_{m,1}, \hdots, A_{m,n} \end{mymatrix} \big \rangle_{\mathbb{F}} .
\end{equation*}
The (right) ($\mathbb{F}$-)kernel of a matrix $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{m \times n}$ is the ($\mathbb{F}$-)vector space given by
\begin{equation*}
\ker_{\mathbb{F}}(\ve{A}) := \{ \v \in \mathbb{F}^{n}: \ve{A}\v^{\top} = \ve{0} \}.
\end{equation*}
Note that in case of $\mathbb{F} = \ensuremath{\mathbb{F}_q}$, we can write and compute the $\ensuremath{\mathbb{F}_q}$-kernel as $\ker_{\ensuremath{\mathbb{F}_q}}(\ve{A}) := \{ \v \in \ensuremath{\mathbb{F}_q}^{n}:   \extsmallfield(\ve{A})\v^{\top} = \ve{0} \}$.
We define the $\ensuremath{\mathbb{F}_{q^m}}$-rank of a matrix $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{m\times n}$ to be
\begin{equation*}
\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{A}) := \dim_{\ensuremath{\mathbb{F}_{q^m}}} \left( \rspace{\ve{A}}{\ensuremath{\mathbb{F}_{q^m}}} \right),
\end{equation*}
and its $\ensuremath{\mathbb{F}_q}$-rank as
\begin{equation*}
\rank_{\ensuremath{\mathbb{F}_q}}(\ve{A}) := \dim_{\ensuremath{\mathbb{F}_q}} \left( \rspace{ \extsmallfield(\ve{A})}{\ensuremath{\mathbb{F}_q}} \right).
\end{equation*}
Note that the latter rank equals the $\ensuremath{\mathbb{F}_q}$-dimension of the $\ensuremath{\mathbb{F}_q}$-column span of the matrix $\ve{A}$ (and, obviously, of its extension $\extsmallfield(\ve{A})$).
For the same matrix $\ve{A}$, the $\ensuremath{\mathbb{F}_q}$- and $\ensuremath{\mathbb{F}_{q^m}}$-rank can be different.
In general, we have $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{A}) \leq \rank_{\ensuremath{\mathbb{F}_q}} (\ve{A})$, where equality holds if and only if the reduced row echelon form of $\ve{A}$ has only entries in $\ensuremath{\mathbb{F}_q}$.

Further, throughout this paper, we use $[i]:=q^i$ for any integer $i \geq 0$.

\subsection{Rank-Metric Codes}

The rank norm $\rank_q(\a)$ of a vector $\a$ is the rank of the matrix representation $\ve{A} \in \ensuremath{\mathbb{F}_q}^{m \times n}$ over $\mathbb{F}_{q}$, i.e.,
\begin{equation*}
\rank_q(\a) := \rank_q(\ve{A}).
\end{equation*}
The rank distance between $\a$ and $\b$ (with $\ve{A} := \extsmallfield(\a)$ and $\ve{B} := \extsmallfield(\b)$) is defined by
\begin{equation*}
d_\mathrm{R}(\a,\b):= \rank_q(\a-\b) = \rank_q(\ve{A}-\ve{B}).
\end{equation*}
A linear $[n,k,d]$ code $\mycode{C}$ over $\ensuremath{\mathbb{F}_{q^m}}$ is a $k$-dimensional subspace of $\ensuremath{\mathbb{F}_{q^m}}^n$ and minimum rank distance $d$, where
\begin{equation*}
d := \min_{\substack{\a,\b \in \mycode{C} \\ \a \neq \b }} \lbrace \rank_q(\a -\b) \rbrace  =  \min_{\a \in \mycode{C} \setminus \{0\} }\lbrace \rank_q(\a) \rbrace.
\end{equation*}

Gabidulin codes are the first-known and most-studied class of rank-metric codes. They are defined as follows.

\begin{definition}[Gabidulin code, {\cite{Delsarte_1978,Gabidulin_TheoryOfCodes_1985,Roth_RankCodes_1991}}]
	A Gabidulin code $\Gabcode{n}{k}$ over $\ensuremath{\mathbb{F}_{q^m}}$ of length $n \leq m$
	and dimension $k$ is defined by its $k \times n$ generator matrix
	\begin{equation*}
	\ve{G} = \MoormatExplicit{g}{k}{n},
	\end{equation*}
	where $\ve{g}=[g_1,g_2, \dots, g_{n}] \in \ensuremath{\mathbb{F}_{q^m}}^n$ and $\rank_q(\ve{g}) = n$.
\end{definition}
Gabidulin codes are MRD codes, i.e., $d=n-k+1$, and can decode uniquely and efficiently any error $\ve{e} \in \ensuremath{\mathbb{F}_{q^m}}^n$ of rank weight $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{e}) \leq \lfloor\frac{d-1}{2}\rfloor$.

Besides Gabidulin codes and variants therof based on different automorphisms \cite{roth1996tensor,kshevetskiy2005new,augot2013rank}, there are several other ($\ensuremath{\mathbb{F}_{q^m}}$-)linear rank metric code constructions, for instance: low-rank-parity-check (LRPC) \cite{gaborit2013low}, which have applications in code-based cryptography, Loidreau's code class that modifies Gabidulin codes for cryptographic purposes \cite{loidreau2016evolution}, and twisted Gabidulin codes \cite{sheekey2016new,otal2016explicit}, which were the first general family of non-Gabidulin MRD codes. There are also generalizations of twisted Gabidulin codes \cite{lunardon2015generalized,puchinger2017further} and other example codes for some explicit parameters \cite{horlemann2015new}.

\subsection{Interleaved Codes}

In this paper, we propose a new decoding algorithm for homogeneous interleaved codes, which are defined as follows.

\begin{definition}\label{def:interleaved_codes}
Let $\mathcal{C}[n,k,d]$ be a linear (rank- or Hamming-metric) code over $\ensuremath{\mathbb{F}_{q^m}}$ and $\ell \in \mathbb{Z}_{>0}$ be a positive integer.
The corresponding ($\ell$-)interleaved code is defined by
\begin{equation*}
\mathcal{IC}[\ell; n,k,d] := \left\{ \ve{C} = \begin{bmatrix}
\c_1 \\ \c_2 \\ \vdots \\ \c_\ell
\end{bmatrix} \, : \, \c_i \in \mathcal{C} \right\} \subseteq \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n} \ .
\end{equation*}
We call $\mathcal{C}$ the constituent code and $\ell$ the interleaving order.
\end{definition}

Note that any codeword $\ve{C} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ of an interleaved code can be written as $\ve{C} = \ve{M} \ve{G}$, where $\ve{G} \in \ensuremath{\mathbb{F}_{q^m}}^{k \times n}$ is a generator matrix of the constituent code $\ve{C}$ and $\ve{M} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times k}$ is a message.
This also directly implies that $\H \ve{C}^\top = \ve{0} \in \ensuremath{\mathbb{F}_{q^m}}^{n-k \times \ell}$ for any codeword $\ve{C} \in \mathcal{IC}$, where $\H$ is a parity-check matrix of the constituent code.

\subsection{Error Model and Support}

As an error model, we consider additive error matrices $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ of specific structure, depending on the chosen metric.
The goal of decoding is to recover a codeword $\ve{C} \in \mathcal{IC}$ from a received word
\begin{equation*}
\ve{R} = \ve{C} + \ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}.
\end{equation*}
We outline the error models for both Hamming and rank metric since we will often discuss analogies of the Hamming and rank case throughout the paper.
Furthermore, we recall the important notion of \emph{support} of an error.

\subsubsection{Hamming Metric}

In the Hamming metric, an error (of a non-interleaved code) of weight $t$ is a vector having exactly $t$ non-zero entries. It is natural to define the \emph{support} of the error as the set of indices of these non-zero positions, and many algebraic decoding algorithms aim at recovering the support of an error since it is easy to retrieve the error values afterwards.

For interleaved codes in the Hamming metric, errors of weight $t$ are considered to be matrices $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ that have exactly $t$ non-zero columns.
This means that errors occur at the same positions in the constituent codewords.
A natural generalization of the support of the error $\ve{E}$ is thus the set of indices of non-zero columns, i.e.,
\begin{equation*}
\mathrm{supp}_\mathrm{H}(\ve{E}) := \left\{ j \, : \, \text{$j$-th column of $\ve{E}$ is non-zero} \right\}.
\end{equation*}
The \emph{number of errors}, or \emph{Hamming weight} of the error $\ve{E}$, is then defined as the cardinality of the support.
Since $\ve{E}$ has only $t$ non-zero columns, we can decompose it into two matrices
\begin{equation}
\ve{E} = \ve{A} \ve{B}, \label{eq:Hamming_decomposition}
\end{equation}
where $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ consists of the non-zero columns of $\ve{E}$ and the rows of $\ve{B} \in \ensuremath{\mathbb{F}_{q^m}}^{t \times n}$ are the corresponding $t$ identity vectors of the error positions.

\subsubsection{Rank Metric}

In the rank metric, an error of weight $t$, in the non-interleaved case, is a vector $\ve{e} \in \ensuremath{\mathbb{F}_{q^m}}^n$, whose $\ensuremath{\mathbb{F}_q}$-rank (i.e., the $\ensuremath{\mathbb{F}_q}$-rank of its matrix representation $\extsmallfield(\ve{e})$) is $t$.
It has been noted in the literature several times that the row (or column) space of the matrix representation $\extsmallfield(\ve{e})$ of the error shares many important properties with the support notion in the Hamming metric, see, e.g., \cite{Gabidulin_TheoryOfCodes_1985,Roth_RankCodes_1991,chabaud1996rsd,ourivski2002new,gaborit2016decoding,aragon:ISIT18}.
We therefore define the \emph{(rank) support} of an error to be the row space of its matrix representation.
Then, the rank weight equals the dimension of its support.

In the interleaved case, an error of weight $t$ is a matrix $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ with $\ensuremath{\mathbb{F}_q}$-rank $t$, cf.~\cite{loidreau2006decoding,wachter2014list}.\footnote{The paper \cite{sidorenko2010decoding} considers a different error model, but the algorithm in \cite{sidorenko2010decoding} can be reformulated to work with the model considered here, cf.~\cite[Section~4.1]{wachter2013decoding}.}
Note that the matrix entries are in general over the large field $\ensuremath{\mathbb{F}_{q^m}}$, but the rank is taken over $\ensuremath{\mathbb{F}_q}$.
Analog to the case of a single vector, we define the rank support of a matrix $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ to be the row space of the extended matrix $\extsmallfield(\ve{E}) \in \ensuremath{\mathbb{F}_q}^{\ell m \times n}$, i.e.,
\begin{equation*}
\mathrm{supp}_\mathrm{R}(\ve{E}) := \rspace{\extsmallfield(\ve{E})}{\ensuremath{\mathbb{F}_q}}.
\end{equation*}
Thus, the number of errors, or rank weight of the error, equals the $\ensuremath{\mathbb{F}_q}$-dimension of the error's support.
Similar to \eqref{eq:Hamming_decomposition}, we can decompose the error matrix as follows.
\begin{lemma}[{see, e.g., \cite[Theorem~1]{matsaglia1974}}]\label{lem:E=AB}
Let $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ be an error matrix with $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E}) = t$. Then, it can be decomposed into
\begin{equation*}
\ve{E} = \ve{A} \ve{B},
\end{equation*}
where $\ve{A}\in\ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ and $\ve{B} \in \ensuremath{\mathbb{F}_q}^{t \times n}$ both have full $\ensuremath{\mathbb{F}_q}$-rank $t$, cf. right part of Figure~\ref{fig:support_illustration}.
The matrix $\ve{A}$ and $\ve{B}$ are unique up to elementary $\ensuremath{\mathbb{F}_q}$-column and $\ensuremath{\mathbb{F}_q}$-row operations, respectively, and the rows of $\ve{B}$ are a basis of the error support $\mathrm{supp}_\mathrm{R}(\ve{E})$.
\end{lemma}

For the two metrics, we will illustrate analogies of the notions of support and the decompositions, \eqref{eq:Hamming_decomposition} and Lemma~\ref{lem:E=AB}, in Figure~\ref{fig:support_illustration} (see Section~\ref{ssec:analogy}, a few pages ahead).

\subsection{Metzner--Kapturowski Algorithm for Decoding High-Order Interleaved Codes in the Hamming Metric}

In~\cite{metzner1990general}, Metzner and Kapturowski proposed a Hamming-metric decoding algorithm for interleaved codes with high interleaving order, i.e., $\ell\geq t_{\text{H}}$, where $t_\text{H}$ is the number of errors.
The algorithm is generic as it works with any code of minimum Hamming distance $d_\text{H}$.
It was shown that the proposed algorithm always retrieves the transmitted codeword if $t_{\text{H}}\leq d_{\text{H}}-2$ and if the non-zero columns of the error matrix are linearly independent, i.e., $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = t_\text{H}$. The algorithm is given in Algorithm~\ref{alg:MK}.
Furthermore, an illustration of the algorithm can be found in the left part of Figure~\ref{fig:support_illustration} (see Section~\ref{ssec:analogy}, some pages ahead),
which compares the classical Hamming-metric Metzner--Kapturowski algorithm with the new algorithm for rank-metric codes.

 \printalgoIEEE{
 \DontPrintSemicolon
 \KwIn{Parity-check matrix $\H$, received word $\ve{R}$}
 \KwOut{Transmitted codeword $\ve{C}$}

$\S \gets \H \ve{R}^{\top} \in \ensuremath{\mathbb{F}_{q^m}}^{(n-k)\times\ell}$.

Determine $\P\in \ensuremath{\mathbb{F}_{q^m}}^{(n-k)\times(n-k)}$ s.t. $\P \S = \rref{\S}$.

$\ve{H}_\mathrm{sub} \gets (\P \H)_{[t_{\text{H}}+1:n-k],[1:n]} \in \ensuremath{\mathbb{F}_{q^m}}^{(n-k-t_{\text{H}}) \times n}$.

Determine $\ve{B}\in\ensuremath{\mathbb{F}_q}^{t_{\text{H}} \times n}$ s.t. the columns of $\ve{B}$, which correspond to the zero-columns of $\ve{H}_\mathrm{sub}$, form an identity matrix and the remaining columns of $\ve{B}$ are zero.

Determine $\ve{A}\in\ensuremath{\mathbb{F}_{q^m}}^{\ell \times t_{\text{H}}} $ s.t. $(\H\ve{B}^{\top})\ve{A}^{\top} = \S$.

$\ve{C} \gets \ve{R} - \ve{A}\ve{B} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$.

\Return{$\ve{C}$}
 \caption{Metzner--Kapturowski Algorithm \cite{metzner1990general}}
 \label{alg:MK}
}

We observe that the algorithm first determines the error positions, i.e., $\mathrm{supp}_{\text{H}}(\ve{E})$, by bringing the syndrome matrix $\S = \H \ve{R}^{\top}$ in reduced row echelon form and applying the same transformation to $\H$. The matrix $\ve{H}_\mathrm{sub}$, which consists of the last $n-k-t_{\text{H}}$ rows of the transformed matrix $\P\H$, has then zero columns exactly at the error positions. After the error positions are determined, erasure decoding is performed.

\section{Decoding High-Order Interleaved Codes in the Rank Metric}\label{sec:new_algorithm}

In this section, we propose a new decoding algorithm for interleaved codes in the rank metric, which is an adaption of Metzner and Kapturowski's decoder to the rank metric and works under similar conditions for up to $t \leq d-2$ errors:
\begin{enumerate}
\item \textbf{High-order condition:} The interleaving order is at least the number of errors, i.e., $\ell \geq t$.
\item \textbf{Full-rank condition:} The error matrix has full $\ensuremath{\mathbb{F}_{q^m}}$-rank, i.e., $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = \rank_{\ensuremath{\mathbb{F}_q}}(\ve{E}) = t$.
\end{enumerate}
In fact, the full-rank condition implies the high-order condition since the $\ensuremath{\mathbb{F}_{q^m}}$-rank of a matrix $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ is at most $\ell$.
We will nevertheless mention both conditions for didactic reasons.

Throughout this section, we fix a rank-metric code $\mathcal{C}$ over a field $\ensuremath{\mathbb{F}_{q^m}}$ with parameters $[n,k,d]$ and a parity-check matrix $\H$ of $\mathcal{C}$. We want to retrieve a codeword $\ve{C}$ of the homogeneous $\ell$-interleaved code $\IntCode{\ell;n,k,d}$, given the received word
\begin{align*}
\ve{R} = \ve{C} + \ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n},
\end{align*}
where $\ve{E}$ is an error matrix of rank weight $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E}) = t$.

\subsection{The Error Support}

Similar to the Metzner--Kapturowski algorithm for the Hamming metric, our new algorithm is centered around retrieving the rank support of the error matrix $\ve{E}$ from the syndrome matrix $\S = \H \ve{R}^\top$.
As soon as $\mathrm{supp}_\mathrm{R}(\ve{E})$ is known, we can recover the error $\ve{E}$ using Lemma~\ref{lem:get_E_from_B} below.
The method is a form of erasure correction, i.e., the rank-metric analog of computing the error values given the error positions in the Hamming metric.
For Gabidulin codes, this fact was already used in \cite{Gabidulin_TheoryOfCodes_1985,Roth_RankCodes_1991} and can be efficiently implemented by error-erasure decoders, cf.~\cite{silva2008rank,gabidulin2008error} or their fast variants \cite{silva2009fast,wachter2013fast,puchinger2018fast}.
In the general case, it has been an important ingredient of generic rank-syndrome decoding algorithms \cite{chabaud1996rsd,ourivski2002new,gaborit2016decoding,aragon:ISIT18}, which are mostly based on guessing the error support and then computing the error.
Since computing the error from its support is an important step of the new algorithm, we present the formal statement and proof, together with the resulting complexity, below for completeness.
\begin{lemma}[{see, e.g., \cite{Gabidulin_TheoryOfCodes_1985,Roth_RankCodes_1991,chabaud1996rsd,ourivski2002new,gaborit2016decoding,aragon:ISIT18}}]\label{lem:get_E_from_B}
Let $t<d$, $\ve{B} \in \ensuremath{\mathbb{F}_q}^{t \times n}$ be a basis of the rank support $\ranksupp{\ve{E}}$ of an error matrix $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$, and $\S \in \ensuremath{\mathbb{F}_{q^m}}^{n-k \times \ell} = \H \ve{E}^\top$ be the corresponding syndrome matrix.
Then, the error is given by $\ve{E}= \ve{A} \ve{B}$, where $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ is the unique solution of the linear system of equations
\begin{equation}
\S = (\H \ve{B}^\top) \ve{A}^\top. \label{eq:system_A_from_S_H_B}
\end{equation}
Thus, $\ve{E}$ can be computed in $O(\max\{\ell n^2,n^3\})$ operations in $\ensuremath{\mathbb{F}_{q^m}}$ from $\ranksupp{\ve{E}}$ and $\S$.
\end{lemma}

\begin{proof}
Since $\ve{B}$ is a basis of $\ranksupp{\ve{E}}$, there must be a matrix $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ such that $\ve{E} = \ve{A} \ve{B}$. Since $\S = \H \ve{E}^\top$, $\ve{A}$ must fulfill $\S = (\H \ve{B}^\top) \ve{A}^\top$.
On the other hand, there can only be one matrix $\ve{A}$ fulfilling \eqref{eq:system_A_from_S_H_B} since, by \cite[Theorem~1]{Gabidulin_TheoryOfCodes_1985}, the matrix $\H \ve{B}^\top$ has $\ensuremath{\mathbb{F}_{q^m}}$-rank $t$ due to $t<d$ and $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{B})=t$.
The multiplications $\H \ve{B}^\top$ and $\ve{A} \ve{B}$ cost $O(n^3)$ field operations, respectively, and solving the system \eqref{eq:system_A_from_S_H_B} requires $O(\max\{\ell n^2,n^3\})$ operations in $\ensuremath{\mathbb{F}_{q^m}}$, which implies the complexity statement.
\end{proof}

\subsection{How to Determine the Error Support}

Our new decoding algorithm is based on retrieving the support of the error.
The error itself can then be computed using the method implied by Lemma~\ref{lem:get_E_from_B}.
In the following, we show how to obtain the error support from the syndrome and parity-check matrix.

Similar to Metzner and Kapturowski, we compute the syndrome matrix $\S$ as the product of the parity-check matrix $\H$ and the transposed received word $\ve{R}^\top = \ve{C}^\top + \ve{E}^\top$.
Due to the properties of the parity-check matrix, we obtain
\begin{align*}
\S = \H \ve{E}^\top.
\end{align*}
Then, we transform $\S$ into row echelon form.
Since $\S$ has $\ensuremath{\mathbb{F}_{q^m}}$-rank at most $t$, which is smaller than its number of rows $n-k \geq d-1$, the resulting matrix has zero rows.
We apply the same row operations used to obtain the echelon form of $\S$ to the parity-check matrix and consider the matrix $\ve{H}_\mathrm{sub}$, which consists of the rows of the resulting matrix corresponding to the zero rows of the echelon form of $\S$.
This process is illustrated in Figure~\ref{fig:PS_Hsub_illustration}.
The following sequence of statements derives the main statement of this section, Theorem~\ref{thm:kernelB}: the error support can be efficiently computed from $\ve{H}_\mathrm{sub}$.

\begin{figure}
\begin{center}
  \resizebox{0.45\textwidth}{!}{
\input{new_algo.tikz}
}
\end{center}
\caption{Illustration of Lemma~\ref{lem:Hsub_basis_general}.
}
\label{fig:PS_Hsub_illustration}
\end{figure}

\begin{lemma}\label{lem:Hsub_basis_general}
Let $\S = \H \ve{E}^{\top} \in \ensuremath{\mathbb{F}_{q^m}}^{(n-k) \times \ell}$ be the syndrome of an error $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ of rank weight $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E})=t<n-k$ and $\P\in \ensuremath{\mathbb{F}_{q^m}}^{(n-k)\times(n-k)}$ be a matrix of rank $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\P)=n-k$ such that $\P\S$ is in row-echelon form.
Then, at least $n-k-t$ rows of $\P\S$ are zero.
Let $\ve{H}_\mathrm{sub}$ be the rows of $\P\H$ corresponding to the zero rows in $\P \S$.
Then, $\ve{H}_\mathrm{sub}$ is a basis of
\begin{align*}
\ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) \cap \mathcal{C}^\bot.
\end{align*}
\end{lemma}

\begin{proof}
Since $\ve{E}$ has $\ensuremath{\mathbb{F}_q}$-rank $t$, its $\ensuremath{\mathbb{F}_{q^m}}$-rank is at most $t$. Hence, the $\ensuremath{\mathbb{F}_{q^m}}$-rank of $\S$ is at most $t$, and at least $n-k-t$ of the $n-k$ rows are zero in its echelon form $\P \S$.

The rows of $\P\H$ (and thus of $\ve{H}_\mathrm{sub}$) are in the row space of $\H$, which is equal to $\mathcal{C}^\bot$.
Furthermore, the rows of $\ve{H}_\mathrm{sub}$ are in the kernel of $\ve{E}$ since $\ve{H}_\mathrm{sub} \ve{E}^\top = \ve{0}$.
It is left to show that the rows span the entire intersection.
Write
\begin{align*}
\P \S =
\begin{bmatrix}
\S' \\ \ve{0}
\end{bmatrix}, \quad \P\H = \begin{bmatrix}
\H' \\ \ve{H}_\mathrm{sub}
\end{bmatrix},
\end{align*}
where $\S' = \H' \ve{E}^\top$ has full rank and has as many rows as $\H'$.
Let $\ve{h} = [\v_1,\v_2] \begin{bmatrix}
\H' \\ \ve{H}_\mathrm{sub}
\end{bmatrix}$ be a vector in the row space of $\P\H$ and in the kernel of $\ve{E}$.
Then, we can write
\begin{align*}
\ve{0} = \ve{h} \ve{E}^\top = [\v_1,\v_2] \begin{bmatrix}
\H' \\ \ve{H}_\mathrm{sub}
\end{bmatrix} \ve{E}^\top = \v_1 \H' \ve{E}^\top = \v_1 \S'
\end{align*}
due to $\ve{H}_\mathrm{sub} \ve{E}^\top = \ve{0}$. This implies that $\v_1 = \ve{0}$ since the rows of $\S'$ are linearly independent.
Thus, $\ve{h}$ is in the row space of $\ve{H}_\mathrm{sub}$.
\end{proof}

Lemma~\ref{lem:Hsub_basis_general} shows that the matrix $\ve{H}_\mathrm{sub}$ is connected to the kernel of the error.
The next lemma proves that this kernel is closely connected to the rank support of the error if the $\ensuremath{\mathbb{F}_{q^m}}$-rank of the error is $t$ (\textbf{full-rank condition}).
Note that we only required $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E})=t$ in Lemma~\ref{lem:Hsub_basis_general}, which is a weaker condition.

\begin{lemma}\label{lem:Hsub_basis_full-rank}
Let $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ be an error of $\ensuremath{\mathbb{F}_q}$-rank $t$.
If $\ell \geq t$ (\textbf{high-order condition}) and $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = t$ (\textbf{full-rank condition}), then
\begin{equation*}
\ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = \ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{B}),
\end{equation*}
where $\ve{B}$ is any basis of the error support $\ranksupp{\ve{E}}$.
\end{lemma}

\begin{proof}
Let $\ve{E}$ have $\ensuremath{\mathbb{F}_{q^m}}$-rank $t$ (recall that the high-order condition is necessary for this) and $\ve{E}=\ve{A} \ve{B}$ be a decomposition as in Lemma~\ref{lem:E=AB}.
Then, $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ must have full $\ensuremath{\mathbb{F}_{q^m}}$-rank $t$ and $\ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{A})=\ve{0}$. Thus, for all $\v \in \ensuremath{\mathbb{F}_{q^m}}^{n} $, $(\ve{A} \ve{B}) \v^{\top} = \ve{0}$ if and only if $\ve{B} \v^{\top} = \ve{0}$, which is equivalent to
\begin{equation*}
\ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = \ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{A} \ve{B}) = \ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{B}). \qedhere
\end{equation*}
\end{proof}

In order to prove that the error support can be computed from $\ve{H}_\mathrm{sub}$, we require the following property of $\extsmallfield(\ve{H}_\mathrm{sub})$.

\begin{lemma}
  Let $\ve{H}_\mathrm{sub}\in\ensuremath{\mathbb{F}_{q^m}}^{(n-k-t)\times n}$ and $\ve{h} \in \rspace{\ve{H}_\mathrm{sub}}{\ensuremath{\mathbb{F}_{q^m}}}$. Then each row of $\extsmallfield(\ve{h})$ is in $\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}}$.
  \label{lemma:extg}
  \end{lemma}

  \begin{proof}
    Since $\ve{h} \in \rspace{\ve{H}_\mathrm{sub}}{\ensuremath{\mathbb{F}_{q^m}}}$, the vector $\ve{h}$ can be written as
    \begin{equation}
      \ve{h} = \sum_{i=1}^{n-k-t} a_i \ve{H}_{\mathrm{sub},i},
      \label{eq:hlincombi}
\end{equation}
where $a_1,\hdots,a_{n-k-t} \in \ensuremath{\mathbb{F}_{q^m}}$ and $\ve{H}_{\mathrm{sub},i}$ denotes the $i$-th row of $\ve{H}_\mathrm{sub}$. Using the vector and matrix representation of finite field elements, equation~(\ref{eq:hlincombi}) can be mapped to
    \begin{equation*}
      \extsmallfield(\ve{h}) = \sum_{i=1}^{m} \ve{M}_{a_i} \extsmallfield(\ve{H}_{\mathrm{sub},i}),
    \end{equation*}
    where $\ve{M}_{a_i} \in \ensuremath{\mathbb{F}_q}^{m\times m}$ is the matrix representation of $a_i$ over $\ensuremath{\mathbb{F}_q}$ for a given basis $\boldsymbol{\gamma}$, cf.~\cite{wardlaw_1994}. Since $\ve{M}_{a_i}$ for $i=1,\hdots,m$ is over $\ensuremath{\mathbb{F}_q}$, each row of $\extsmallfield(\ve{h})$ is in $\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}}$.
    \end{proof}

By combining the three lemmas above, the following theorem shows that the rank support of the error can be computed from $\ve{H}_\mathrm{sub}$ under the \textbf{high-order} and \textbf{full-rank condition}.
In the Hamming metric, Metzner and Kapturowksi required the number of errors to be $t\leq d-2$ since they used the fact that any $t+1 \leq d-1$ columns of the parity-check matrix are linearly independent.
Here, we obtain the same condition as we use the rank-metric analog of this statement, \cite[Theorem~1]{Gabidulin_TheoryOfCodes_1985}: If the parity-check matrix is multiplied from the right by any matrix over the small field $\ensuremath{\mathbb{F}_q}$ of rank $t+1 \leq d-1$, then the resulting matrix has rank $t+1$.

\begin{theorem}\label{thm:kernelB}
Let $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ be an error of $\ensuremath{\mathbb{F}_q}$-rank $t\leq d-2$.
If $\ell \geq t$ (\textbf{high-order condition}) and $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = t$ (\textbf{full-rank condition}), then
\begin{equation*}
\ranksupp{\ve{E}} = \ker_{\ensuremath{\mathbb{F}_q}}(\extsmallfield(\ve{H}_\mathrm{sub})),
\end{equation*}
where $\ve{H}_\mathrm{sub}$ is defined as in Lemma~\ref{lem:Hsub_basis_general}.
\end{theorem}

\begin{IEEEproof}
Lemmas~\ref{lem:Hsub_basis_general} and \ref{lem:Hsub_basis_full-rank} show that the high-order and full-rank conditions imply
\begin{equation}
\rspace{\ve{H}_\mathrm{sub}}{\ensuremath{\mathbb{F}_{q^m}}} = \ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{B}) \cap \mathcal{C}^\bot. \label{eq:Hsub_kerB_dualCode}
\end{equation}
In the following, we prove that if we consider the $\ensuremath{\mathbb{F}_q}$-row space of the extended $\ve{H}_\mathrm{sub}$ instead of the $\ensuremath{\mathbb{F}_{q^m}}$-row space of $\ve{H}_\mathrm{sub}$, the result is directly the $\ensuremath{\mathbb{F}_q}$-kernel of $\ve{B}$, i.e.,
\begin{equation*}
\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}} = \ker_{\ensuremath{\mathbb{F}_q}}(\ve{B}).
\end{equation*}
Together with $\ker_{\ensuremath{\mathbb{F}_q}}(\extsmallfield(\ve{H}_\mathrm{sub})) = \rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}}^\bot$ and $\ranksupp{\ve{B}} = \ker_{\ensuremath{\mathbb{F}_q}}(\ve{B})^\bot$, this implies the claim.

First, we prove that $\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}} \subseteq \ker_{\ensuremath{\mathbb{F}_q}} (\ve{B})$.
It suffices to show that any row of $\extsmallfield(\ve{H}_\mathrm{sub})$ is in the $\ensuremath{\mathbb{F}_q}$-kernel of $\ve{B}$.
Such a row is again a row $\v_i$ of $\extsmallfield(\v)$.
Since obviously $\v_i \in \ensuremath{\mathbb{F}_q}^n$, it is left to show that $\ve{B} \v_i^\top = 0$.
This follows from \eqref{eq:Hsub_kerB_dualCode}, which implies that $\v \in \ker_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{B})$ and thus
\begin{equation*}
\ve{0} = \extsmallfield(\ve{B} \v^\top) = \ve{B} \extsmallfield(\v)^\top,
\end{equation*}
where the second equality is true since $\ve{B}$ has entries in $\ensuremath{\mathbb{F}_q}$.

Second, we show $\ker_{\ensuremath{\mathbb{F}_q}} (\ve{B}) \subseteq \rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}}$ by proving that $r:=\dim\big(\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}}\big) = \dim(\ker_{\ensuremath{\mathbb{F}_q}} (\ve{B}))= n-t$.
Since $\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}} \subseteq \ker_{\ensuremath{\mathbb{F}_q}} (\ve{B})$, $r>n-t$ is not possible. In the following, we show that $r<n-t$ is also not possible meaning $r$ must be equal to $n-t$.

For the proof, we will use the following mapping, which, for arbitrary $\mu,\nu \in \mathbb{N}$ and a matrix $\ve{A} \in \ensuremath{\mathbb{F}_q}^{\mu \times \nu}$, sends a vector $\v \in \ensuremath{\mathbb{F}_{q^m}}^\mu$ to the $\ensuremath{\mathbb{F}_{q^m}}$-row space of $\ve{A}$:
\begin{align*}
\varphi_{\ve{A}} : \ensuremath{\mathbb{F}_{q^m}}^{\mu} \rightarrow \ensuremath{\mathbb{F}_{q^m}}^{\nu}, \quad \v \mapsto \v \ve{A}.
\end{align*}

Let $\ve{h}_1,\hdots,\ve{h}_r\in \ensuremath{\mathbb{F}_q}^{n}$ be a basis of $\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}}$, i.e.,
\begin{equation*}
\langle \ve{h}_1,\hdots,\ve{h}_r \rangle_{\ensuremath{\mathbb{F}_q}} = \rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}},
\end{equation*}
and assume $r<n-t$.

According to the basis extension theorem, there is a matrix $\ve{B}^{\prime \prime} \in \ensuremath{\mathbb{F}_q}^{(n-t)\times n}$ such that
\begin{equation*}
  \ve{B}^{\prime } :=
  \begin{mymatrix}
\ve{B}^{\top} \ve{B}^{\prime \prime \top}
    \end{mymatrix} \in \ensuremath{\mathbb{F}_q}^{n\times n},
\end{equation*}
has $\ensuremath{\mathbb{F}_q}$-rank $n$. Since $\ve{B}^{\prime }$ has full rank, the mapping $\varphi_{\ve{B}^{\prime }}$ is bijective and thus
\begin{equation*}
  \ve{H}^{\prime}=\begin{mymatrix}
    \ve{h}^{\prime}_1 \\
    \vdots \\
    \ve{h}^{\prime}_r
    \end{mymatrix}
    :=
    \begin{mymatrix}
    \varphi_{\ve{B}^{\prime }}(\ve{h}_1) \\
    \vdots \\
    \varphi_{\ve{B}^{\prime }}(\ve{h}_r)
    \end{mymatrix} \in \ensuremath{\mathbb{F}_q}^{n \times n}
  \end{equation*}
  has $\ensuremath{\mathbb{F}_q}$-rank $r$. The vectors $\ve{h}_1,\hdots,\ve{h}_r$ are in the right $\ensuremath{\mathbb{F}_q}$-kernel of $\ve{B}$, so
\begin{equation*}
  \ve{H}^{\prime}=
  \begin{mymatrix}
    0 & \hdots & 0 & h^{\prime}_{1,t+1} & h^{\prime}_{1,t+2} & \hdots & h^{\prime}_{1,n}  \\
    \vdots &\ddots & \vdots & \vdots & \vdots & \ddots & \vdots\\
    0 & \hdots & 0 & h^{\prime}_{r,t+1} & h^{\prime}_{1,t+2} & \hdots & h^{\prime}_{r,n}  \\
    \end{mymatrix}.
  \end{equation*}

  By assumption, $r<n-t$ which means that there exists a full-rank matrix $\ve{J} \in \ensuremath{\mathbb{F}_q}^{(n-t)\times n}$ such that
  \begin{align}
    \tilde{\ve{\H}} :&= \ve{H}^{\prime} \begin{mymatrix}
      \ve{I} \\
      \ve{J}
    \end{mymatrix} \nonumber \\
    &=
    \begin{mymatrix}
    0 & \hdots & 0 & 0 & h^{\prime}_{1,t+2} & \hdots & h^{\prime}_{1,n}  \\
    \vdots &\ddots & \vdots & \vdots & \vdots & \ddots & \vdots\\
    0 & \hdots & 0 & 0 & h^{\prime}_{r,t+2} & \hdots & h^{\prime}_{r,n}  \\
    \end{mymatrix},\label{eq:Htil}
    \end{align}
    where $\ve{I}\in \ensuremath{\mathbb{F}_q}^{t \times n}$ is a matrix that consists of an identity matrix in the first $t$ columns and a zero matrix in the last $n-t$ columns. Further, the matrix
    \begin{equation*}
      \ve{D} :=   \begin{mymatrix}
\ve{B}^{\top} \ve{B}^{\prime \prime \top}
    \end{mymatrix} \begin{mymatrix}
      \ve{I} \\
      \ve{J}
    \end{mymatrix} \in \ensuremath{\mathbb{F}_q}^{n \times n}
      \end{equation*}
      has $\ensuremath{\mathbb{F}_q}$-rank $n$, which means that $\varphi_{\ve{D}}$ is bijective and the matrix $\tilde{\ve{\H}}$ can be written as
  \begin{equation*}
    \tilde{\ve{\H}} = \begin{mymatrix}
      \varphi_{\ve{D}}(\ve{h}_1) \\
      \vdots \\
      \varphi_{\ve{D}} (\ve{h}_r)
    \end{mymatrix}.
      \end{equation*}
The matrix $\ve{D}^{\prime} := \ve{D}_{[1:n],[1:t+1]} \in \ensuremath{\mathbb{F}_q}^{n \times t+1}$ has $\ensuremath{\mathbb{F}_q}$-rank $t+1$ and it follows by (\ref{eq:Htil}) that
      \begin{equation}
        \varphi_{\ve{D}^{\prime}}(\ve{h}_i) = \begin{mymatrix} 0 & \hdots & 0  &  0  \end{mymatrix} \in \ensuremath{\mathbb{F}_q}^{t+1}
        \label{eq:hDp}
    \end{equation}
    for $i=1,\hdots,r$.

    However,
    \begin{equation*}
\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\H \ve{D}^{\prime} ) = t+1,
      \end{equation*}
      since $\H\in \ensuremath{\mathbb{F}_{q^m}}^{(n-k)\times n}$ is a parity-check matrix of a $[n,k,d]$ code and  $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{D}^{\prime}) = t+1$~\cite[Theorem 1]{Gabidulin_TheoryOfCodes_1985}. Thus, there exists a vector $\ve{g} \in \rspace{\H}{\ensuremath{\mathbb{F}_{q^m}}}$ such that
      \begin{equation}
        \ve{g} \ve{D}^{\prime} =
        \begin{mymatrix}
          0& \hdots&0 &g_{t+1}^{\prime}
        \end{mymatrix},
        \label{eq:gDp}
        \end{equation}
        where $g_{t+1}^{\prime} \in \ensuremath{\mathbb{F}_{q^m}} \setminus \{0\}$. Since the first $t$ positions of $\ve{g} \ve{D}^{\prime}$ are equal to zero, $\ve{g} \in \rspace{\ve{H}_\mathrm{sub}}{\ensuremath{\mathbb{F}_{q^m}}}$. From~(\ref{eq:gDp}) follows that
      \begin{equation}
        \extsmallfield(\ve{g}) \ve{D}^{\prime} =
        \begin{mymatrix}
          0& \hdots&0 &g_{1,t+1}^{\prime} \\
          0& \hdots&0 &g_{2,t+1}^{\prime} \\
          \vdots &\ddots & \vdots & \vdots \\
          0& \hdots&0 &g_{m,t+1}^{\prime} \\
        \end{mymatrix}\in \ensuremath{\mathbb{F}_q}^{m \times (t+1)},
        \label{eq:extgDp}
      \end{equation}
      where $\extsmallfield(g_{t+1}^{\prime}) = \begin{mymatrix} g_{1,t+1}^{\prime} \hdots g_{m,t+1}^{\prime}\end{mymatrix}^{\top} \in \ensuremath{\mathbb{F}_q}^{m \times 1}$.
        Let $\ve{g}_i$ denote the $i$-th row of $\extsmallfield(\ve{g})$ for which $g_{i,t+1}^{\prime} \neq 0$. Then by equation~(\ref{eq:extgDp}),
        \begin{equation*}
          \varphi_{\ve{D}^{\prime}}(\ve{g}_i) =
          \begin{mymatrix}
          0& \hdots&0 &g_{i,t+1}^{\prime}
        \end{mymatrix}.
\end{equation*}
Since  $\ve{g}_i \in \rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}}$, cf. Lemma~\ref{lemma:extg}, this constitutes a contradiction according to equation~(\ref{eq:hDp}) which says that for all $\ve{g}_i \in \rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}}$,
        \begin{equation*}
          \varphi_{\ve{D}^{\prime}}(\ve{g}_i) =
          \begin{mymatrix}
          0& \hdots&0 & 0
        \end{mymatrix}.
\end{equation*}
Thus, $r<n-t$ is not possible and leaves $r=n-t$ as only valid possibility, which means $\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}} = \ker_{\ensuremath{\mathbb{F}_q}}(\ve{B})$.

Recall that $\rspace{\extsmallfield(\ve{H}_\mathrm{sub})}{\ensuremath{\mathbb{F}_q}} = \ker_{\ensuremath{\mathbb{F}_q}}(\ve{B})$ is equivalent to
\begin{equation*}
\ranksupp{\ve{E}} = \rspace{\ve{B}}{\ensuremath{\mathbb{F}_q}} = \ker_{\ensuremath{\mathbb{F}_q}}(\extsmallfield(\ve{H}_\mathrm{sub})),
\end{equation*}
which proves the claim.
\end{IEEEproof}

\subsection{The New Algorithm}

The results of the previous subsections imply an efficient decoding algorithm for high-order interleaved codes, which is summarized in Algorithm~\ref{alg:Decoding}.
We prove its correctness and state the resulting complexity in Theorem~\ref{thm:main_statement} below.

 \printalgoIEEE{
 \DontPrintSemicolon
 \KwIn{Parity-check matrix $\H$, received word $\ve{R}$}
 \KwOut{Transmitted codeword $\ve{C}$}

$\S \gets \H \ve{R}^{\top} \in \ensuremath{\mathbb{F}_{q^m}}^{(n-k)\times\ell}$. \label{line:S}

Determine $\P\in \ensuremath{\mathbb{F}_{q^m}}^{(n-k)\times(n-k)}$ s.t. $\P \S = \rref{\S}$. \label{line:P}

$\ve{H}_\mathrm{sub} \gets (\P \H)_{[t+1:n-k],[1:n]} \in \ensuremath{\mathbb{F}_{q^m}}^{(n-k-t) \times n}$. \label{line:Hsub}

Determine $\ve{B}\in\ensuremath{\mathbb{F}_q}^{t \times n}$ s.t. $ \extsmallfield(\ve{H}_\mathrm{sub}) \ve{B}^{\top} = \ve{0}$ and $\rank_q(\ve{B})=t$. \label{line:B}

Determine $\ve{A}\in\ensuremath{\mathbb{F}_{q^m}}^{\ell \times t} $ s.t. $(\H\ve{B}^{\top})\ve{A}^{\top} = \S$. \label{line:A}

$\ve{C} \gets \ve{R} - \ve{A}\ve{B} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$. \label{line:C}

\Return{$\ve{C}$} \label{line:return}
 \caption{New Decoder for High-Order Interleaved Rank-Metric Codes}
 \label{alg:Decoding}
 }

\begin{theorem}\label{thm:main_statement}
Let $\ve{C}$ be a codeword of a homogeneous $\ell$-interleaved rank-metric code $\IntCode{\ell ; n,k,d}$ of minimum rank distance $d$.
Furthermore, let $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ be an error matrix containing $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E}) = t \leq d-2$ errors that fulfills $t \leq \ell$ (\textbf{high-order condition}) and $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = t$ (\textbf{full-rank condition}). Then $\ve{C}$ can be uniquely reconstructed from the received word
using Algorithm~\ref{alg:Decoding} in
\begin{equation*}
O(\max\{n^3,n^2\ell\})
\end{equation*}
operations in $\ensuremath{\mathbb{F}_{q^m}}$ plus
\begin{equation*}
O(n^3m)
\end{equation*}
operations in $\ensuremath{\mathbb{F}_q}$.
\end{theorem}

\begin{proof}
According to Lemma~\ref{lem:E=AB}, the error matrix can be decomposed into $\ve{E} = \ve{A} \ve{B}$. Algorithm~\ref{alg:Decoding} determines first a basis of the error's rowspace, i.e., $\ve{B}$, and then the matrix $\ve{A}$.

To determine $\ve{B}$, the algorithm computes in Step~\ref{line:P} a transformation matrix $\P$ such that $\P\S$ is in row echelon form. In Step~\ref{line:Hsub}, $\ve{H}_\mathrm{sub}$ is chosen as the last $n-k-t$ rows of $\P\H$.
Then, Algorithm~\ref{alg:Decoding} determines $\ve{B}$ by finding a basis of $\ker_{\ensuremath{\mathbb{F}_q}}(\extsmallfield(\ve{H}_\mathrm{sub}))$ in Step~\ref{line:B}.
This is possible due to Theorem~\ref{thm:kernelB} and the condition $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E})=t$.

Having $\ve{B}$, the matrix $\ve{A}$ is obtained in Step~\ref{line:A} by solving $\S = (\H\ve{B}^{\top})\ve{A}^{\top}$ for $\ve{A}$, see Lemma~\ref{lem:get_E_from_B}. Thus, Algorithm~\ref{alg:Decoding} returns the transmitted codeword in Step~\ref{line:return}.

The complexity of the steps in the algorithm are given by
\begin{itemize}
\item Line~\ref{line:S} (Multiplication of $\H \ve{R}^\top$) requires $O(n(n-k)\ell)\subseteq O(n^2\ell)$ operations in $\ensuremath{\mathbb{F}_{q^m}}$.
\item Line~\ref{line:P} (Transformation of $\begin{mymatrix} \S & \ve{I} \end{mymatrix}$ in reduced row echelon form) needs $O((n-k)^2(\ell+n-k)) \subseteq O(\max \{n^3,n^2\ell\} )$ operations in $\ensuremath{\mathbb{F}_{q^m}}$.
\item Line~\ref{line:Hsub} (Multiplication of $(\P \H)_{[t+1:n-k],[1:n]}$) requires $(n(n-k-t)(n-k)) \subseteq  O(n^3)$ operations in $\ensuremath{\mathbb{F}_{q^m}}$.
\item Line~\ref{line:B} (Transformation of $\begin{mymatrix} \extsmallfield(\ve{H}_\mathrm{sub})^{\top} & \ve{I}^{\top} \end{mymatrix}^{\top} $ in column echelon form) needs $O(n^2((n-k-t)m+n)) \subseteq O(n^3m)$ operations in $\ensuremath{\mathbb{F}_q}$.
\item Line~\ref{line:A} (Transformation of $\begin{mymatrix} (\H\ve{B}^{\top}) & \S \end{mymatrix} $ in row echelon form) requires $O((n-k)^2(t+\ell)) \subseteq O(\max\{n^3,n^2\ell\})$ operations in $\ensuremath{\mathbb{F}_{q^m}}$.
\item Line~\ref{line:C} (Multiplication of $\ve{A}\ve{B}$) needs $O(\ell t n) \subseteq O(\ell n^2$ operations in $\ensuremath{\mathbb{F}_{q^m}}$.
\item Line~\ref{line:C} (Subtraction of $\ve{R}$ and $(\ve{A}\ve{B})$) needs $O(\ell n)$ operations in $\ensuremath{\mathbb{F}_{q^m}}$.
\end{itemize}
Thus, Algorithm~\ref{alg:Decoding} requires $O(\max\{n^3,n^2\ell\})$ operations in $\ensuremath{\mathbb{F}_{q^m}}$ and $O(n^3m)$ operations in $\ensuremath{\mathbb{F}_q}$.
\end{proof}

\begin{remark}\label{rem:complexity_in_Fq}
Using a standard (e.g., polynomial or low-complexity normal) basis of $\ensuremath{\mathbb{F}_{q^m}}$ over $\ensuremath{\mathbb{F}_q}$ with standard algorithms (e.g., naive polynomial multiplication and division), operations in $\ensuremath{\mathbb{F}_{q^m}}$ cost $O(m^2)$ operations in $\ensuremath{\mathbb{F}_q}$. Thus, Algorithm~\ref{alg:Decoding} has overall complexity
\begin{equation*}
O\!\left( \max\{n^3,n^2\ell\} m^2 \right)
\end{equation*}
over $\ensuremath{\mathbb{F}_q}$.
Asymptotically, it can be implemented faster.
The bases of $\ensuremath{\mathbb{F}_{q^m}}$ over $\ensuremath{\mathbb{F}_q}$ presented in \cite{couveignes2009elliptic} enable to multiply, add, and $q$-power elements of $\ensuremath{\mathbb{F}_{q^m}}$ in, asymptotically, $O^\sim(m)$ operations over $\ensuremath{\mathbb{F}_q}$, where $O^\sim$ neglects $\log$-factors in $m$.
This is done by representing field elements in suitable bases of $\ensuremath{\mathbb{F}_{q^m}}$ over $\ensuremath{\mathbb{F}_q}$.
Hence, the overall complexity of Algorithm~\ref{alg:Decoding} can be given as
\begin{equation*}
O^\sim\!\left( \max\{n^3,n^2\ell\} m \right)
\end{equation*}
operations in $\ensuremath{\mathbb{F}_q}$.
Note, however, that the cost for a fixed $m$ might be larger than the standard approach due to a larger hidden constant.
\end{remark}

\subsection{Implementation of the Algorithm}

We have implemented and tested Algorithm~\ref{alg:Decoding} in the computer-algebra system SageMath v8.6~\cite{sagemath}.
The implementation and test scripts are available online under \url{https://bitbucket.org/julianrenner/ir_decoder}.

\subsection{Analogy to Metzner--Kapturowski in the Hamming Metric}\label{ssec:analogy}

The new decoder, Algorithm~\ref{alg:Decoding}, is the rank-metric analog of the Metzner--Kapturowski algorithm in the Hamming metric.
In the following, we will draw important connections between the algorithms, which once again substantiate the analogy of the support in the Hamming metric and the rank support in the rank metric.
The comparison is illustrated in Figure~\ref{fig:support_illustration}.

\begin{figure}[ht]
\begin{center}
  \resizebox{\linewidth}{!}{
\input{sup_ges.tikz}
}
\end{center}
\caption{Illustration of the error support in Hamming metric (left part) and in rank metric (right part).}
\label{fig:support_illustration}
\end{figure}

By \eqref{eq:Hamming_decomposition}, an error matrix $\ve{E}$ with $t$ errors in the Hamming metric can be decomposed into $\ve{E} = \ve{A} \ve{B}$, where the rows of $\ve{B}$ are the identity vectors corresponding to the $t$ error positions.
Hence, the support of the error matrix is given by the union of the supports of the rows $\ve{B}_i$ of the matrix $\ve{B}$, i.e.,
\begin{align*}
\mathrm{supp}_{\text{H}}(\ve{E}) = \bigcup_{i} \mathrm{supp}_{\text{H}}(\ve{B}_{i}).
\end{align*}
If the Metzner--Kapturowski algorithm works, the error positions are exactly the zero columns in the matrix $\ve{H}_\mathrm{sub}$. The indices of the non-zero columns can be written as $\bigcup_{i} \mathrm{supp}_{\text{H}}(\ve{H}_{\mathrm{sub},i})$, where $\ve{H}_{\mathrm{sub},i}$ is the $i$-th row of $\ve{H}_\mathrm{sub}$.
Thus, the error positions are the complement ($=$ indices of the other rows) thereof, i.e.,
\begin{align}
\mathrm{supp}_{\text{H}}(\ve{E})
= \overline{\bigcup_{i} \mathrm{supp}_{\text{H}}(\ve{H}_{\mathrm{sub},i})} \ . \label{eq:support_Hamming}
\end{align}

A very similar formula can be derived in the rank metric.
By Lemma~\ref{lem:E=AB}, an error in the rank metric can be decomposed into $\ve{E}=\ve{A} \ve{B}$, there $\ve{B}$ is a matrix over the small field $\ensuremath{\mathbb{F}_q}$ (note that this includes the Hamming metric case since $0,1 \in \ensuremath{\mathbb{F}_{q^m}}$ are in the subfield $\ensuremath{\mathbb{F}_q}$).
The rank support of $\ve{E}$ equals the row space of $\extsmallfield(\ve{B})$, which is spanned by the union (over $i$) of all rows of the $\extsmallfield(\ve{B}_i)$, where $\ve{B}_i$ is the $i$-th row of $\ve{B}$.
Since the row space of $\extsmallfield(\ve{B}_i)$ is the rank support of $\ve{B}_i$, the rank support of $\ve{E}$ is given by
\begin{align*}
\ranksupp{\ve{E}}  = \sum_{i} \ranksupp{\ve{B}_{i}},
\end{align*}
where the sum $\sum$ denotes the Minkowski sum of vector spaces (i.e., the span of the union of the spaces).

If the algorithm works correctly, the rank support of $\ve{E}$ is given by the kernel of $\extsmallfield(\ve{H}_\mathrm{sub})$ according to Theorem~\ref{thm:kernelB}.
This is the dual space of the row space of $\extsmallfield(\ve{H}_\mathrm{sub})$.
The row space of $\extsmallfield(\ve{H}_\mathrm{sub})$ is again the (Minkowski) sum of the row spaces of $\extsmallfield(\ve{H}_{\mathrm{sub},i})$, i.e., the rank support of the $i$-th row $\ve{H}_{\mathrm{sub},i}$ of $\ve{H}_\mathrm{sub}$.
Hence, we can write the rank support of $\ve{E}$ as
\begin{align}
\ranksupp{\ve{E}}
= \bigg(\sum_{i} \ranksupp{\ve{H}_{\mathrm{sub},i}}\bigg)^{\bot} \ . \label{eq:support_rank}
\end{align}

In summary, we see that there is an analogy of the notions of support in both metrics.
Equations \eqref{eq:support_Hamming} and \eqref{eq:support_rank} are dual to each other as outlined in Table~\ref{tab:duality_supports}.

\begin{table}[h]
\caption{Duality of Equations \eqref{eq:support_Hamming} and \eqref{eq:support_rank} (see also Figure~\ref{fig:support_illustration}).}
\label{tab:duality_supports}
\vspace{-0.3cm}
\begin{center}
\normalsize
\def1.3{1.3}
\begin{tabular}{c|c}
Hamming metric & Rank metric \\
\hline
Support $\mathrm{supp}_\mathrm{H}$ & Rank support $\mathrm{supp}_\mathrm{R}$ \\
Union $\bigcup$ & Span of the union / Minkowski sum $\sum$ \\
Complement $\overline{\cdot}$ & Dual space $\cdot^\bot$
\end{tabular}
\end{center}
\vspace{-0.5cm}
\end{table}

\subsection{Example}
In this section, we illustrate the algorithm using example values. We consider the field $\mathbb{F}_{2^5}$ with the field polynomial $f(x) = x^5+x^2+1$ and primitive element $\alpha$. Further, we choose $\boldsymbol{\gamma} = \begin{mymatrix} 1 &\alpha &\alpha^2 & \alpha^3 & \alpha^4 \end{mymatrix}$ to be a polynomial basis and $\IntCode{\ell;n,k,d}$ as an interleaved Gabidulin code with $\ell=2$, $n=5$, $k=2$, $d=4$ and code locators $ 1,\alpha,\alpha^2,\alpha^3, \alpha^4$. We use the generator matrix
\begin{equation*}
  \ve{G} = \begin{mymatrix}
    1 & \alpha & \alpha^2 & \alpha^3 & \alpha^4\\
    1 & \alpha^2 & \alpha^4 & \alpha^6 & \alpha^8\\
    \end{mymatrix}
  \end{equation*}
 and parity-check matrix
  \begin{equation*}
  \H = \begin{mymatrix}
    1 & 0 & 0 & \alpha^{17} & \alpha^{4}  \\
    0 & 1 & 0 & \alpha^{7}  & \alpha^{13} \\
    0 & 0 & 1 & \alpha^{16} & \alpha^{28} \\
    \end{mymatrix},
  \end{equation*}
  respectively.
  The transmitted codeword
  \begin{equation*}
  \ve{C} = \begin{mymatrix}
    \alpha & 1\\
    \alpha^2 & \alpha\\
    \end{mymatrix} \ve{G} = \begin{mymatrix}
    \alpha^{18} & 0 & \alpha^{21} & \alpha^{9}  & \alpha^{3} \\
    \alpha^{19} & 0 & \alpha^{22} & \alpha^{10} & \alpha^{4} \\
    \end{mymatrix}
  \end{equation*}
  is corrupted by an error
  \begin{equation*}
  \ve{E} = \begin{mymatrix}
    \alpha^3 & \alpha^1 & \alpha^3 & \alpha^1 & \alpha^1 \\
     \alpha^1 & \alpha^2 &  \alpha^1 & \alpha^2 & \alpha^2 \\
    \end{mymatrix},
  \end{equation*}
  resulting in the received word
  \begin{equation*}
  \ve{R} = \ve{C} + \ve{E} = \begin{mymatrix}
    \alpha^{27} & \alpha^1 & \alpha^{4}   & \alpha^{21} & \alpha^{6} \\
    \alpha^{2}  & \alpha^2 & \alpha^{26}  & \alpha^{22} & \alpha^{7} \\
    \end{mymatrix}.
  \end{equation*}
  To retrieve $\ve{C}$ from $\ve{R}$, we first compute the syndrome
  \begin{equation*}
  \S = \H  \ve{R}^{\top} = \begin{mymatrix}
    \alpha^{12}  & \alpha^{12}  \\
    \alpha^{30}  & 1 \\
    \alpha^{30}  & \alpha^{17}  \\
    \end{mymatrix}
  \end{equation*}
  and bring it, using
  \begin{equation*}
  \P = \begin{mymatrix}
    0 & \alpha^{19} & \alpha^2  \\
    0 & \alpha    & \alpha    \\
    1 & \alpha^{14} & 1  \\
    \end{mymatrix},
  \end{equation*}
  in row echelon form
  \begin{equation*}
  \P\S = \begin{mymatrix}
    1 & 0  \\
    0 & 1 \\
    0 & 0
    \end{mymatrix}.
  \end{equation*}
  We take the last $n-k-t=1$ rows from
  \begin{equation*}
  \P\H = \begin{mymatrix}
    0 & \alpha^{19} & \alpha^2 & \alpha^{7} & \alpha^{4} \\
    0 & \alpha & \alpha & \alpha^{24} & \alpha^{7}  \\
    1 & \alpha^{14} & 1 & \alpha^{4} & \alpha^{8}
    \end{mymatrix},
  \end{equation*}
  to get
  \begin{equation*}
  \ve{H}_\mathrm{sub} = \begin{mymatrix}
    1 & \alpha^{14} & 1 & \alpha^{4} & \alpha^{8} \\
    \end{mymatrix}.
  \end{equation*}
  Using the polynomial basis $\boldsymbol{\gamma}$, we extend $\ve{H}_\mathrm{sub}$ to
  \begin{equation*}
  \extsmallfield(\ve{H}_\mathrm{sub}) = \begin{mymatrix}
    1 & 1 & 1 & 0 & 1 \\
    0 & 0 & 0 & 0 & 0\\
    0 & 1 & 0 & 0 & 1\\
    0 & 1 & 0 & 0 & 1\\
    0 & 1 & 0 & 1 & 0\\
    \end{mymatrix}.
  \end{equation*}

  The right $\ensuremath{\mathbb{F}_q}$-kernel of $\extsmallfield(\ve{H}_\mathrm{sub})$ is a two-dimensional subspace of $\ensuremath{\mathbb{F}_q}^n$ with basis vectors $\begin{mymatrix} 1 & 0 & 1 & 0 & 0 \end{mymatrix}$ and $\begin{mymatrix} 0 & 1 & 0 & 1 & 1 \end{mymatrix}$. Thus,
  \begin{equation*}
    \ve{B} = \begin{mymatrix}
    1 & 0 & 1 & 0 & 0 \\
    0 & 1 & 0 & 1 & 1
    \end{mymatrix}.
  \end{equation*}
 Solving
  \begin{align*}
    \H\ve{B}^{\top}\ve{A}^{\top} &= \S \\
    \begin{mymatrix}
      1 & \alpha^{18} \\
      0 & \alpha^{29} \\
      1 & \alpha^{8}
    \end{mymatrix}\ve{A}^{\top} &=
\begin{mymatrix}
    \alpha^{12}  & \alpha^{12}  \\
    \alpha^{30}  & 1 \\
    \alpha^{30}  & \alpha^{17}  \\
    \end{mymatrix}
  \end{align*}
  for $\ve{A}$ gives
\begin{equation*}
  \ve{A} = \begin{mymatrix}
    \alpha^{3} & \alpha  \\
    \alpha & \alpha^{2}
    \end{mymatrix}.
  \end{equation*}
  The codeword is then retrieved by $\ve{C} = \ve{R} -  \ve{A} \ve{B}$.

\section{Further Results}\label{sec:further_results}

In this section, we present further results related to the new decoding algorithm.
We show that most errors of a given weight fulfill the full-rank condition, which directly implies a lower bound on the success probability for random errors, cf.~Section~\ref{ssec:number_matrices_lower_bound}.
By utilizing the well-known equivalence of homogeneous interleaved codes and certain linear codes over large extension fields, we obtain a class of linear rank-metric codes that are able to correct most rank errors of weight up to $d-2$, cf.~Section~\ref{ssec:linear_codes_correcting_d-2_errors}.
In Section~\ref{ssec:more_than_d-2}, we show that the new decoder is able to correct even more than the minimum distance number of errors in some cases.
We also give an idea how the algorithm can be adapted to some heterogeneous codes, cf.~Section~\ref{ssec:inhomogeneous_codes}.
Finally, we draw connections to existing decoding algorithms for the special case of interleaved Gabidulin codes in Section~\ref{ssec:relation_to_interleaved_gabidulin_decoders}: we show that these decoders succeed under the same condition as our new decoder, which significantly simplifies the known decoders' success conditions for the high-order case.

\subsection{A Bound on the Success Probability for Random Errors}\label{ssec:number_matrices_lower_bound}

In the following, we derive a lower bound on the success probability of the new decoder, given that the error is drawn uniformly at random from all error matrices of a given weight $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E})=t$.
The bound is obtained by well-known results about the number of matrices of a given rank.
For fixed code parameters and $t\leq d-2$, the success probability of the new decoder approaches $1$ exponentially in the difference of the number of errors $t$ and the interleaving order $\ell$.

To derive the lower bound, we need the following lemma, which follows by well-known combinatorial results, see, e.g., \cite[Lemma~3.13]{Overbeck_Diss_InterleveadGab}.
\begin{lemma}\label{lem:lower_bound}
  Let $\ell\geq t$ and $\ve{A}$ be drawn uniformly at random from the set of matrices in $\ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ of $\ensuremath{\mathbb{F}_q}$-rank $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{A})=t$. Then, the probability that $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{A}) = t$ is lower-bounded by
  \begin{equation}
\geq \prod_{i=0}^{t-1} (1-q^{m(i-\ell)}) \geq 1-tq^{m(t-1-\ell)}. \label{eq:number_of_matrices_of_rank_t}
    \end{equation}
 \end{lemma}
 \begin{IEEEproof}
In the proof of \cite[Lemma~3.13]{Overbeck_Diss_InterleveadGab}, it is shown that the number of $n \times m$ matrices of rank $t$ over $\ensuremath{\mathbb{F}_q}$ is given by
\begin{equation*}
\mathrm{NM}_{t,n,m} = \prod_{i=0}^{t-1} \frac{(q^m-q^i)(q^n-q^i)}{q^t-q^i}
\end{equation*}
which implies that the number of full $\ensuremath{\mathbb{F}_{q^m}}$-rank matrices $\ve{A}$ is $\prod_{i=0}^{t-1}(q^{m\ell}-q^{mi})$.
Thus, a lower bound on the probability that that $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{A}) = t$ is given by\footnote{The first inequality is relatively tight due to the following argument. Equation \eqref{eq:number_of_matrices_of_rank_t} implies that the number of full $\ensuremath{\mathbb{F}_q}$-rank matrices $\ve{A}$ is $\prod_{i=0}^{t-1}(q^{m\ell}-q^{i})$. Since $m\ell\gg t$, the ratio of all full $\ensuremath{\mathbb{F}_q}$-rank matrices in $\ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ to all matrices in $\ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ is very close to $1$.}
\begin{align*}
&\frac{|\{ \ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t} \, : \, \rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{A}) =t \}|}{|\{ \ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t} \, : \, \rank_{\ensuremath{\mathbb{F}_q}}(\ve{A}) = t \}|} \\
&\quad \quad \geq \frac{|\{ \ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t} \, : \, \rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{A}) = t \}|}{q^{m \ell t}} \\
&\quad \quad =  \frac{\prod_{i=0}^{t-1}(q^{m\ell}-q^{mi})}{q^{m\ell t}} \\
&\quad \quad = \prod_{i=0}^{t-1}\frac{(q^{m\ell}-q^{mi})}{q^{m\ell t}} \\
&\quad \quad = \prod_{i=0}^{t-1}(1-q^{m(t-1-\ell)}) \\
&\quad \quad \geq (1-q^{m(t-1-\ell)})^t \\
&\quad \quad = \sum_{i=0}^{t} \binom{t}{i} (-q^{m(t-1-\ell)})^{i} \\
&\quad \quad = 1 - \binom{t}{1} q^{m(t-1-\ell)} +\binom{t}{2} q^{2m(t-1-\ell)} - \hdots \\
&\quad \quad \geq 1 - tq^{m(t-1-\ell)}.
  \end{align*}
  The latter inequality results from
\begin{align*}
  \binom{t}{i} < \left(\frac{t e}{i}\right)^i \leq (t e)^i &\leq ((d-2)e)^i \leq ((m-2)e)^i \\
                                                           &< q^{im}\leq q^{-im(t-1-\ell)},
\end{align*}
for $q\geq 2$ and $i\geq 1$, where $e$ denotes Euler's number.
Thus,
\begin{equation*}
\binom{t}{i} q^{im(t-1-\ell)}  > \binom{t}{(i+1)} q^{(i+1)m(t-1-\ell)}.
\end{equation*}
 \end{IEEEproof}

 The lower bound on the success probability of the proposed algorithm is then given by the following theorem.
\begin{theorem}\label{thm:success_probability}
Let $\mathcal{C}$ be a homogeneous $\ell$-interlaved code of minimum rank distance $d$, and $t \leq \min\{\ell, d-2\}$.
Furthermore, let
\begin{align*}
\ve{R} = \ve{C} + \ve{E},
\end{align*}
where $\ve{C}$ is a codeword of $\mathcal{C}$ and $\ve{E}$ is uniformly drawn from $\ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ with $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E})=t$.
Then, with probability
\begin{equation*}
\geq  \prod_{i=0}^{t-1} (1-q^{m(i-\ell)}) \geq  1- tq^{m(t-1-\ell)},
  \end{equation*}
$\ve{C}$ can be uniquely reconstructed from $\ve{R}$ using Algorithm~\ref{alg:Decoding}.
\end{theorem}
\begin{IEEEproof}
According to Theorem~\ref{thm:main_statement}, one can uniquely reconstruct $\ve{C}$ from $\ve{R}$ using Algorithm~\ref{alg:Decoding} if $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E})=t$.
Considering the decomposition of $\ve{E}$ shown in Lemma~\ref{lem:E=AB}, the error $\ve{E}$ has $\ensuremath{\mathbb{F}_{q^m}}$-rank $t$ if and only if the matrix $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ has $\ensuremath{\mathbb{F}_{q^m}}$-rank $t$.
Furthermore, for a given subspace $\mathcal{V} \subseteq \ensuremath{\mathbb{F}_q}^n$ of $\ensuremath{\mathbb{F}_q}$-dimension $t$ and a fixed basis $\ve{B}$ whose row space equals $\mathcal{V}$, there is a bijective mapping of the set of matrices $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$ of $\ensuremath{\mathbb{F}_{q^m}}$-rank $t$ and the set of errors $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ of rank support $\mathcal{V}$, given by $\ve{A} \mapsto \ve{A} \ve{B}$.
Hence, drawing $\ve{E}$ uniformly at random with rank weight $t$ is equivalent to drawing $\ve{B} \in \ensuremath{\mathbb{F}_q}^{t \times n}$ and $\ve{A} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$, both of $\ensuremath{\mathbb{F}_q}$-rank $t$, uniformly at random.
Thus, the probability that $\ve{E}$ has $\ensuremath{\mathbb{F}_{q^m}}$-rank $t$ is lower-bounded by
\begin{equation*}
\prod_{i=0}^{t-1} (1-q^{m(i-\ell)}) \geq 1-tq^{m(t-1-\ell)},
\end{equation*}
according to Lemma~\ref{lem:lower_bound}.
This implies that $\ve{C}$ can be uniquely reconstructed from $\ve{R}$ by Algorithm~\ref{alg:Decoding} with this probability.
\end{IEEEproof}

\subsection{Linear Rank-Metric Codes Correcting $d-2$ Errors Probabilistically}\label{ssec:linear_codes_correcting_d-2_errors}

A homogeneous $\ell$-interleaved code over the field $\ensuremath{\mathbb{F}_{q^m}}$ with $\ensuremath{\mathbb{F}_{q^m}}$-linear constituent code $\mathcal{C}$ can be interpreted as an $\mathbb{F}_{q^{m \ell}}$-linear rank-metric code by representing the columns of the codeword matrix, which are vectors in $\ensuremath{\mathbb{F}_{q^m}}^\ell$, as elements of $\mathbb{F}_{q^{m \ell}}$.
For interleaved Reed--Solomon codes in the Hamming metric, this was first proved in \cite{sidorenko2008decoding}, where one is even able to show that the resulting code is a punctured Reed--Solomon code over a large field.
The extension of this result to rank-metric codes is straightforward and, though to our knowledge unpublished, appears to be common knowledge in the community.
The following statement formally states the result for general linear rank-metric codes.

\begin{lemma}\label{lem:interleaved_code}
Let $\mathcal{C}[n,k,d]$ be a rank-metric code over $\ensuremath{\mathbb{F}_{q^m}}$. Then, the code $\mathcal{C}'$ obtained by representing the codewords of a homogeneous $\ell$-interleaved code thereof as vectors over the large field $\mathbb{F}_{q^{m \ell}}$, i.e.,
\begin{align*}
\mathcal{C}' := \left\{ \extsmallfield^{-1}\left( \begin{bmatrix}
\c_1 \\
\c_2 \\
\vdots \\
\c_\ell
\end{bmatrix} \right)  \, : \, \c_i \in \mathcal{C} \right\} \subseteq \mathbb{F}_{q^{m \ell}}^n,
\end{align*}
is an $\mathbb{F}_{q^{m \ell}}$-linear $[n,k,d]$ rank-metric code over $\mathbb{F}_{q^{m \ell}}$.
\end{lemma}

\begin{proof}
Due to the linearity of the ext mapping, the sum of two codewords is again a codeword.
Furthermore, $\mathbb{F}_{q^{m \ell}}$-multiples of a codeword result again in a codeword since multiplication by an $\mathbb{F}_{q^{m \ell}}$-element can be seen as a multiplication with the corresponding matrix representation of the field element from the left to the interleaved codeword (seen as an $\ell \times n$ matrix over $\ensuremath{\mathbb{F}_{q^m}}$).
Hence, only row operations are performed and the result is again a codeword since each row contains a linear combination of the previous rows, which are again codewords of $\mathcal{C}$ due to the linearity of $\mathcal{C}$.
The parameters follow directly by counting.
\end{proof}

Note that the overall extension degree $m\ell$ of the resulting code is typically much larger than the code length $n$.
On the other hand, for high interleaving order, the code is able to correct most error patterns up to $d-2$ instead of the usual $\tfrac{d-1}{2}$ errors.
We formalize this fact in the following statement, which implies that a random rank error of weight $t\leq d-2$ can be corrected with probability approaching $1$ and exponentially in the difference of $t$ and $\ell$.

\begin{theorem}
Let $\mathcal{C}[n,k,d]$ be a linear rank-metric code over $\ensuremath{\mathbb{F}_{q^m}}$ and $\mathcal{C}'[n,k,d]$ be the corresponding linear code over $\mathbb{F}_{q^{m \ell}}$ as constructed in Lemma~\ref{lem:interleaved_code}, where $\ell \in \mathbb{N}$. If $\ell \geq t$, we can can correct a fraction at least
\begin{align*}
\prod_{i=0}^{t-1} (1-q^{m(i-\ell)}) \geq  1- tq^{m(t-1-\ell)},
\end{align*}
of all rank errors $\ve{e} \in \mathbb{F}_{q^{m \ell}}^n$ of rank weight $t$ with $\mathcal{C}'$.
\end{theorem}

\begin{proof}
The statement directly follows by extending the received word into an $\ell \times n$ matrix over $\ensuremath{\mathbb{F}_{q^m}}$, which is an interleaved codeword plus an error by Lemma~\ref{lem:interleaved_code}.
Furthermore, the mapping $\extsmallfield \, : \, \mathbb{F}_{q^{m \ell}}^n \to \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ is a bijective mapping between all errors $\ve{e} \in \mathbb{F}_{q^{m \ell}}^n$ of rank weight $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{e})=t$ and interleaved error matrices of weight $t$.
Hence, we can correct the given fraction of errors using the interleaved decoder, Algorithm~\ref{alg:Decoding}, by Theorem~\ref{thm:success_probability}.
\end{proof}

\subsection{Correcting More Than $d-2$ Errors}\label{ssec:more_than_d-2}

In Theorem~\ref{thm:kernelB}, we showed that the rank support of an error $\ve{E}$ can be obtained from a received word $\ve{C}+\ve{E}$ if three conditions are fulfilled:
\begin{enumerate}[label=\roman*)]
\item $t \leq d-2$, \label{itm:t_<=_d-2}
\item $\ell \geq t$ (high-order condition), and
\item $\rank_{\ensuremath{\mathbb{F}_{q^m}}} (\ve{E}) = t$ (full-rank condition).
\end{enumerate}
However, by the proof of Theorem~\ref{thm:kernelB}, it suffices to replace the first condition, \ref{itm:t_<=_d-2}, by
\begin{equation}
\rank_{\ensuremath{\mathbb{F}_{q^m}}}\left(\H \left[\ve{B}^\top \mid \b^\top\right]\right) = t+1 \quad \forall \, \b \in \ensuremath{\mathbb{F}_q}^n \setminus \rspace{\ve{B}}{\ensuremath{\mathbb{F}_q}}, \label{eq:alternative_condition}
\end{equation}
where $\ve{B}$ is any basis of the rank support of $\ve{E}$.
Obviously, this condition is fulfilled for $t \leq d-2$ due to \cite[Theorem~1]{Gabidulin_TheoryOfCodes_1985}, but might as well be true for larger values of $t$, depending on the rank support.
Contrarily, by definition of the minimum distance, there must always be an error of weight $t > d-2$ for which \eqref{eq:alternative_condition} is not fulfilled.
Furthermore, it can only work up to $t+1 \leq n-k$ since $\H$ has only $n-k$ columns.

This condition is equivalent to saying that any error $\ve{E}'$ of weight $t+1$ whose rank support contains the one of $\ve{E}$, i.e., $\ranksupp{\ve{E}} \subseteq \ranksupp{\ve{E}'}$, can be uniquely reconstructed from $\ranksupp{\ve{E}'}$ using the erasure-correction strategy described in Lemma~\ref{lem:get_E_from_B}.

In simulations, we observed that decoding more than $d-2$ errors can succeed even with high probability. E.g., in case of a linear $[n=10,k=2,d=7]$ code over $\mathbb{F}_{2^{10}}$ and an error with $t =\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = \rank_{\ensuremath{\mathbb{F}_q}}(\ve{E}) = n-k-1=7$, we obtained a success probability of more than $99\%$.

There is again an analogy to the Hamming metric: The Metzner--Kapturowski algorithm works if and only if the $t+1$ columns of the parity-check matrix corresponding to the error positions (support) and any one additional column have full rank.
Hence, any error consisting of the original $t$ error positions and one additional one must be uniquely reconstructable from the syndrome and known support in order for the algorithm to work.
This fact was recently utilized for decoding interleaved locally repairable codes (LRCs) (in the Hamming metric) far beyond their minimum distance \cite{holzbaur2019lrc}. A family of LRCs was derived, which fulfills this condition for the majority of $t$ error positions, where $t$ is greater than the minimum distance.

\subsection{Heterogeneous Interleaved Codes}\label{ssec:inhomogeneous_codes}

The fact that all constituent codes of the interleaved code must have the same parity-check matrix restricts the new decoder, Algorithm~\ref{alg:Decoding}, to homogeneous interleaved codes.
In the following, we show that it also works for certain heterogeneous
codes.
An heterogeneous interleaved code is defined by
\begin{align*}
\mathcal{IC}_\mathrm{het}[\ell; n,k_1,\dots,k_\ell] := \left\{ \ve{C} = \begin{bmatrix}
\c_1 \\ \c_2 \\ \vdots \\ \c_\ell
\end{bmatrix} \, : \, \c_i \in \mathcal{C}_i[n,k_i,d_i] \right\} ,
\end{align*}
where $\mathcal{C}[n,k_i,d_i]$ are linear rank-metric codes. Note that in contrast to Definition~\ref{def:interleaved_codes}, the constituent codes $\mathcal{C}_i$ can be distinct and also have different parameters.

If all the constituent codes are contained in a joint supercode $\mathcal{C}_i \subseteq \mathcal{C}[n,k,d]$ (e.g., $\mathcal{C}$ could be one of the constituent codes, which would imply $d = \min_i\{d_i\}$), then obviously we have
\begin{equation*}
\mathcal{IC}_\mathrm{het}[\ell; n,k_1,\dots,k_\ell] \subseteq \mathcal{IC}[\ell; n,k,d],
\end{equation*}
where $\mathcal{IC}$ is the homogeneous $\ell$-interleaved code of $\mathcal{C}$.
Hence, we can correct up to $d-2$ errors in $\mathcal{IC}[\ell; n,k_1,\dots,k_\ell]$ using a parity-check matrix of $\mathcal{C}$.

Consider again the general case.
Let $j \in \{1,\dots,\ell\}$ be such that $d_j = d := \min_i \{d_i\}$.
If for more than $d-1$ errors, the rank support of the error is found correctly, the $j$-th row of the error matrix $\ve{E}$ is not always uniquely determined by $\ve{B}$.
This corresponds to the erasure correction capability of the $j$-th constituent code.
In particular, the error is not unique if and only if the rank of $\H \ve{B}$ is not equal to the number of errors $t$.
If $\mathcal{C}$ is an MRD code, there is never a unique solution.

In summary, there are heterogeneous rank-metric codes that correct up to
\begin{equation*}
\min_i\{d_i\}-2 \text{ errors}
\end{equation*}
under the high-order and full-rank condition. Contrarily, it is impossible to always uniquely reconstruct more than
\begin{equation*}
\min_i\{d_i\}-1 \text{ errors}
\end{equation*}
even if the rank support is known.
This shows that the new decoder is close to optimal (in this sense) for those heterogeneous codes whose constituent codes are subcodes of one of its constituent codes.

\subsection{Relation to Existing Decoders of Interleaved Codes}\label{ssec:relation_to_interleaved_gabidulin_decoders}

There are several known algorithms for decoding interleaved Gabidulin codes, i.e., the special case in which the constituent codes are Gabidulin codes.
The first one was proposed by Loidreau and Overbeck in \cite{loidreau2006decoding} (see also \cite{Overbeck_Diss_InterleveadGab}) and is based on solving a linear system of equations.
Later, Sidorenko and Bossert \cite{sidorenko2010decoding} proposed a syndrome key equation based algorithm for a slightly different error model (sometimes referred to as \emph{horizontally interleaved codes}).
It was shown in \cite{wachter2013decoding} that the Sidorenko--Bossert algorithm can be adapted to the error model assumed here.
Furthermore, there is an interpolation-based decoding algorithm \cite{wachter2014list}.

All three decoding algorithms\footnote{Alternatively, the Wachter-Zeh--Zeh algorithm can be seen as a list decoder with exponential worst-case, but small average-case list size.} can be seen as partial (also called probabilistic) unique decoding algorithms, which are able to correct errors up to
\begin{equation}
t \leq t_\mathrm{max} := \left\lfloor \frac{\ell}{\ell+1}(d-1) \right\rfloor = \left\lfloor \frac{\ell}{\ell+1}(n-k) \right\rfloor \label{eq:IGab_radii}
\end{equation}
errors, but fail for some errors beyond half the minimum distance. For all three algorithms, there exist sufficient success conditions based on the structure of the error, which in general differ from the full-rank condition of our algorithm. There are also lower bounds on the success probability for all three algorithms, which are derived from these conditions.

As for sufficiently large interleaving order $\ell \geq d-2$ (high-order condition), the decoding radii of the interleaved Gabidulin decoders, $t_\mathrm{max} = d-2$, coincide with our new decoder, it is an interesting question to study their relation.

The following theorem proves that all three known decoders succeed under the high-order and full-rank condition.
For high-order interleaved Gabidulin codes, this yields a much easier success condition on the error than the known ones.
Although this means that our decoder works as well as the existing decoders for interleaved Gabidulin codes, our decoder is more general as it can be used for arbitrary linear rank-metric codes.
Note that a similar result was recently obtained in \cite{elleuch2018interleaved} for the Metzner--Kapturowski algorithm in the Hamming metric and interleaved Reed--Solomon codes.

\begin{theorem}\label{thm:success_known_IGab_decoders}
Let $\ve{C}$ be a codeword of an $\ell$-interleaved Gabidulin code of parameters $[n,k,n-k+1]$ and $\ve{E} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times n}$ be an error matrix with $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E}) = t$ that fulfills $t\leq \ell$ (\textbf{high-order condition}) and $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = t$ (\textbf{full-rank condition}).

Then, $\ve{C}$ can be uniquely reconstructed from the received word $\ve{R} = \ve{C}+\ve{E}$ using the Loidreau--Overbeck \cite{loidreau2006decoding}, Sidorenko--Bossert \cite{sidorenko2010decoding}\footnote{In order to work with the error model assumed here, we must use the variant described in \cite[Section~4.1]{wachter2013decoding}}, or Wachter-Zeh--Zeh \cite{wachter2014list} decoder.
  \end{theorem}
  \begin{IEEEproof}
	We need to show that all three decoders succeed under the given conditions.
	It suffices to prove that the Loidreau--Overbeck decoder does not fail since this implies the success of the other two algorithms (cf.~\cite[Lemma~4.1]{wachter2013decoding} and \cite[Lemma~4.8]{wachter2013decoding}).

    The algorithm in~\cite{loidreau2006decoding} reconstructs $\ve{C}$ from $\ve{R}$ uniquely if and only if (recall that $[i] := q^i$)
    \begin{equation}
     \rank_{\ensuremath{\mathbb{F}_{q^m}}} \left(
 \begin{mymatrix}
        \ve{g}\\
        \ve{g}^{[1]}\\
        \vdots \\
        \ve{g}^{[n-t-2]}\\
        \ve{E} \\
        \ve{E}^{[1]} \\
        \vdots \\
        \ve{E}^{[n-k-t-1]} \\
      \end{mymatrix}       \right)
    = n-1.
    \label{eq:condition-loid}
      \end{equation}
      In the following, we show that the submatrix
      \begin{equation*}
        \tilde{\ve{G}} :=
 \begin{mymatrix}
        \ve{g}\\
        \ve{g}^{[1]}\\
        \vdots \\
        \ve{g}^{[n-t-2]}\\
      \end{mymatrix}
    \end{equation*}
has $\ensuremath{\mathbb{F}_{q^m}}$-rank $n-t-1$ and that the submatrix
      \begin{equation*}
        \ve{Z} :=
       \begin{mymatrix}
        \ve{E} \\
        \ve{E}^{[1]} \\
        \vdots \\
        \ve{E}^{[n-k-t-1]} \\
      \end{mymatrix}
    \end{equation*}
    has $\ensuremath{\mathbb{F}_{q^m}}$-rank $t$. Further, we prove that the rows of $\tilde{\ve{G}}$ and the rows of $\ve{Z}$ are linearly independent such that their ranks add up to $n-1$ and thus equation~(\ref{eq:condition-loid}) is fulfilled.

 The matrix $\tilde{\ve{G}}$ is a generator matrix of an $[n,n-t-1,t+2]$ Gabidulin code. Thus, $\tilde{\ve{G}}$ has $\ensuremath{\mathbb{F}_{q^m}}$-rank $n-t-1$ and each $\ensuremath{\mathbb{F}_{q^m}}$-linear combination of $\ve{g},\hdots,\ve{g}^{[n-t-2]}$ has rank weight of at least $t+2$.

 Since $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{E}) = t$, it follows that $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{Z}) \geq t$. Further since $\rank_{\ensuremath{\mathbb{F}_q}}(\ve{E})=t$, there exists a full-rank matrix $\P \in \ensuremath{\mathbb{F}_q}^{n \times n}$ such that
    \begin{equation*}
      \ve{E}\P = \begin{mymatrix}
\tilde{\ve{E}} & \ve{0}_{\ell,n-t}
        \end{mymatrix},
      \end{equation*}
      where $\tilde{\ve{E}} \in \ensuremath{\mathbb{F}_{q^m}}^{\ell \times t}$. Thus,
      \begin{align*}
        \rank_{\ensuremath{\mathbb{F}_{q^m}}} (\ve{Z}) &= \rank_{\ensuremath{\mathbb{F}_{q^m}}} (\ve{Z} \P) \\
                          &=
        \rank_{\ensuremath{\mathbb{F}_{q^m}}} \left(
       \begin{mymatrix}
        \tilde{\ve{E}} &\ve{0}_{\ell,n-t} \\
        \tilde{\ve{E}}^{[1]}&\ve{0}_{\ell,n-t} \\
        \vdots & \vdots\\
        \tilde{\ve{E}}^{[n-k-t-1]}&\ve{0}_{\ell,n-t} \\
      \end{mymatrix} \right) \\
        & \leq t,
          \end{align*}
since $\tilde{\ve{E}}$ has $t$ rows. This implies that $\rank_{\ensuremath{\mathbb{F}_{q^m}}}(\ve{Z}) =t$ and each $\ensuremath{\mathbb{F}_{q^m}}$-linear combination has rank weight of at most $t$.

  Since each $\ensuremath{\mathbb{F}_{q^m}}$-linear combination of the rows of $\tilde{\ve{G}}$ has rank weight at least $t+2$ and each linear $\ensuremath{\mathbb{F}_{q^m}}$-linear combination of the rows of $\ve{Z}$ has rank weight at most $t$, the rows of $\tilde{\ve{G}}$ and the rows of $\ve{Z}$ must be linearly independent.
    \end{IEEEproof}

\begin{remark}
The fastest variants of the known decoders for interleaved Gabidulin codes, \cite{sidorenko2011skew,sidorenko2014fast,puchinger2017row,puchinger2017alekhnovich}, have complexities $O(\ell n^2)$ over $\ensuremath{\mathbb{F}_{q^m}}$ (using \cite{sidorenko2014fast} or \cite{puchinger2017row}), $O^\sim(\ell^3 n^{1.635})$ over $\ensuremath{\mathbb{F}_{q^m}}$ (using \cite{sidorenko2011skew} or \cite{puchinger2017alekhnovich} with the fast linearized polynomial operations of \cite{puchinger2018fast}), and $O(\ell^3 n^{\omega-2} m^2)$ over $\ensuremath{\mathbb{F}_q}$ (using \cite{sidorenko2011skew} or \cite{puchinger2017alekhnovich} with the fast linearized polynomial operations of \cite{caruso2017fast}), where $2 \leq \omega \leq 3$ is the matrix multiplication exponent.

Hence, for high-order interleaved Gabidulin codes ($\ell \geq t$) and a reasonably large number of errors $t \in \Omega(n)$, the existing algorithms are not asymptotically faster than the new decoder.
This is surprising since the existing algorithms rely on the heavy structure of Gabidulin codes, whereas the new decoder is generic.
\end{remark}

\section{Conclusion}\label{sec:conclusion}

\subsection{Summary}

We have presented a new decoding algorithm for homogeneous interleaved codes of minimum rank distance $d$, which corrects up to $d-2$ errors given that the error matrix fulfills two conditions: the number of errors is at most the interleaving order (high-order condition) and the rank of the error, over the large field, equals the number of errors (full-rank condition). The new decoder is an adaption of Metzner and Kapturowski's decoder in the Hamming metric, works for any rank-metric code, consists only of linear-algebraic operations, and can be implemented with asymptotically
\begin{equation*}
O^\sim\!\left( \max\{n^2\ell,n^3\} m \right)
\end{equation*}
operations in the small field $\ensuremath{\mathbb{F}_q}$.

We have shown that the success probability for a random error of a given weight can be arbitrarily close to $1$ for growing interleaving order.
By viewing a homogeneous interleaved code as a linear code over a large extension field, we have observed that one obtains a linear rank-metric code (over a large field) correcting almost any error of rank weight up to $d-2$.
We have derived sufficient conditions on the rank support of the error for which the proposed algorithm is able to correct more than $d-2$ errors and presented a way of adapting it to certain heterogeneous codes.
In the special case of interleaved Gabidulin codes, we have proven that the known decoding algorithms succeed under the same conditions as the new decoder, which simplifies the existing success conditions.

\subsection{Open Problems}
The algorithm proposed in this paper is designed for interleaved rank-metric codes in which the constituent codewords and error vectors are aligned vertically (also called vertically interleaved codes). This error model was considered in the majority of works on interleaved rank-metric codes, including \cite{loidreau2006decoding,wachter2014list,wachter2013decoding}.
There is an alternative scheme, proposed in \cite{sidorenko2010decoding}, where where the constituent codewords are aligned horizontally.
In this case, the constituent error matrices' column spaces are all contained in a relatively small joint column space of dimension $t$.
An open problem for future research is the adaption of the new algorithm to this model.

In \cite{haslach2000efficient}, Haslach and Vinck generalized the algorithm of Metzner and Kapturowski to linearly dependent (Hamming-)error matrices. An interesting open question is whether our algorithm can also be generalized to such errors in the rank metric.

A further open problem relates to McEliece-like \cite{mceliece1978public} code-based cryptosystems in the rank metric (e.g., \cite{gabidulin1991ideals,gaborit2013low,loidreau2016evolution}), which are based on the hardness of decoding in a generic rank-metric code.
To encrypt a secret message, the message is mapped to a codeword of a code and the codeword is corrupted by an artificial error. An authorized user knows secret properties about the code that enables him or her to efficiently decode the corrupted codeword and thus retrieve the secret message. To an unauthorized user, the encrypted message looks like a corrupted codeword of a random code and is thus very complex to decode.
It might occur that, in different encryption rounds, two or more error matrices' row spaces are contained in a low-dimensional joint row space.
This could, e.g., occur by chance, a bad implementation of the cryptosystem, or---in a controlled way---on purpose (consider a rank-metric variant of \cite{elleuch2018interleaved,holzbaur2019decoding}).
Since the vertical alignment of the received words would result in an interleaved codeword of a seemingly random constituent code and a low-weight error matrix, the security level of the system might be affected by the new decoder (recall that it works for arbitrary codes).
However, the analysis is not straight-forward since one needs to study how the output of the new algorithm can be used to decrease the search space of a generic decoder (i.e., for realistic, low, interleaving orders, where the algorithm does not directly succeed).
We therefore leave this analysis as an open problem.

\section*{Acknowledgment}

We would like to thank Vladimir Sidorenko for making us aware of the Metzner--Kapturowski algorithm.

\bibliographystyle{IEEEtran}

redpajama_set_name: RedPajamaArXiv


text:
Белоцерковцы — название населённых пунктов на Украине:

 Белоцерковцы — село в Пирятинском районе Полтавской области.
 Белоцерковцы — село в Бобровицком районе Черниговской области.

См. также
 Белоцерковка

redpajama_set_name: RedPajamaWikipedia