<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Rank_error-correcting_code</id>
	<title>Rank error-correcting code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Rank_error-correcting_code"/>
	<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Rank_error-correcting_code&amp;action=history"/>
	<updated>2026-05-15T13:07:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://en.zaoniao.it/index.php?title=Rank_error-correcting_code&amp;diff=6548&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;In coding theory, '''rank codes''' (also called '''Gabidulin codes''') are non-binary linear error-correcting codes over not Hamming...&quot;</title>
		<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Rank_error-correcting_code&amp;diff=6548&amp;oldid=prev"/>
		<updated>2019-07-03T08:46:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;In &lt;a href=&quot;/Coding_theory&quot; title=&quot;Coding theory&quot;&gt;coding theory&lt;/a&gt;, &amp;#039;&amp;#039;&amp;#039;rank codes&amp;#039;&amp;#039;&amp;#039; (also called &amp;#039;&amp;#039;&amp;#039;Gabidulin codes&amp;#039;&amp;#039;&amp;#039;) are non-binary &lt;a href=&quot;/index.php?title=Linear_code&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Linear code (page does not exist)&quot;&gt;linear&lt;/a&gt; &lt;a href=&quot;/index.php?title=Error-correcting_code&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Error-correcting code (page does not exist)&quot;&gt;error-correcting codes&lt;/a&gt; over not &lt;a href=&quot;/index.php?title=Hamming_metric&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Hamming metric (page does not exist)&quot;&gt;Hamming&lt;/a&gt;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[coding theory]], '''rank codes''' (also called '''Gabidulin codes''') are non-binary [[linear code|linear]] [[error-correcting code]]s over not [[Hamming metric|Hamming]] but ''rank'' metric. They described a systematic way of building codes that could detect and correct multiple [[random error|random]] ''rank'' errors. By adding redundancy with coding ''k''-symbol word to a ''n''-symbol word, a rank code can correct any errors of rank up to ''t''&amp;amp;nbsp;=&amp;amp;nbsp;⌊&amp;amp;nbsp;(''d''&amp;amp;nbsp;&amp;amp;minus;&amp;amp;nbsp;1)&amp;amp;nbsp;/&amp;amp;nbsp;2&amp;amp;nbsp;⌋, where ''d'' is a code distance. As an [[erasure code]], it can correct up to ''d'' &amp;amp;minus; 1 known erasures.&lt;br /&gt;
&lt;br /&gt;
A '''rank code''' is an algebraic linear code over the finite field &amp;amp;lt;math&amp;amp;gt;GF(q^N)&amp;amp;lt;/math&amp;amp;gt; similar to [[Reed–Solomon error correction|Reed–Solomon code]].&lt;br /&gt;
&lt;br /&gt;
The rank of the vector over &amp;amp;lt;math&amp;amp;gt;GF(q^N)&amp;amp;lt;/math&amp;amp;gt; is the maximum number of linearly independent components over &amp;amp;lt;math&amp;amp;gt;GF(q)&amp;amp;lt;/math&amp;amp;gt;. The rank distance between two vectors over &amp;amp;lt;math&amp;amp;gt;GF(q^N)&amp;amp;lt;/math&amp;amp;gt; is the rank of the difference of these vectors.&lt;br /&gt;
&lt;br /&gt;
The rank code corrects all errors with rank of the error vector not greater than&amp;amp;nbsp;''t''.&lt;br /&gt;
&lt;br /&gt;
== Rank metric ==&lt;br /&gt;
Let &amp;amp;lt;math&amp;amp;gt;X^n&amp;amp;lt;/math&amp;amp;gt; be an ''n''-dimensional vector space over the [[finite field]] &amp;amp;lt;math&amp;amp;gt;GF\left( {q^N } \right)&amp;amp;lt;/math&amp;amp;gt;, where &amp;amp;lt;math&amp;amp;gt;q&amp;amp;lt;/math&amp;amp;gt; is a power of a prime, &amp;amp;lt;math&amp;amp;gt;N&amp;amp;lt;/math&amp;amp;gt; is an integer and &amp;amp;lt;math&amp;amp;gt;\left(u_1, u_2, \dots, u_N\right)&amp;amp;lt;/math&amp;amp;gt; with &amp;amp;lt;math&amp;amp;gt;u_i \in GF(q)&amp;amp;lt;/math&amp;amp;gt; is a base of the vector space over the field &amp;amp;lt;math&amp;amp;gt;GF\left( {q} \right)&amp;amp;lt;/math&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Every element &amp;amp;lt;math&amp;amp;gt;x_i \in GF\left( {q^N } \right)&amp;amp;lt;/math&amp;amp;gt; can be represented as &amp;amp;lt;math&amp;amp;gt;x_i = a_{1i}u_1 + a_{2i}u_2 + \dots + a_{Ni}u_N&amp;amp;lt;/math&amp;amp;gt;. Hence, every vector &amp;amp;lt;math&amp;amp;gt;\vec x = \left( {x_1, x_2, \dots, x_n } \right)&amp;amp;lt;/math&amp;amp;gt; over &amp;amp;lt;math&amp;amp;gt;GF\left( {q^N } \right)&amp;amp;lt;/math&amp;amp;gt; can be written as matrix:&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;lt;math&amp;amp;gt;&lt;br /&gt;
\vec x = \left\| {\begin{array}{*{20}c}&lt;br /&gt;
 a_{1,1} &amp;amp; a_{1,2} &amp;amp; \ldots &amp;amp; a_{1,n} \\&lt;br /&gt;
 a_{2,1} &amp;amp; a_{2,2} &amp;amp; \ldots &amp;amp; a_{2,n} \\&lt;br /&gt;
 \ldots &amp;amp; \ldots &amp;amp; \ldots &amp;amp; \ldots \\&lt;br /&gt;
 a_{N,1} &amp;amp; a_{N,2} &amp;amp; \ldots &amp;amp; a_{N,n}&lt;br /&gt;
\end{array}} \right\|&lt;br /&gt;
&amp;amp;lt;/math&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Rank of the vector'' &amp;amp;lt;math&amp;amp;gt;\vec x&amp;amp;lt;/math&amp;amp;gt; over the field &amp;amp;lt;math&amp;amp;gt;GF\left( {q^N} \right)&amp;amp;lt;/math&amp;amp;gt; is a rank of the corresponding matrix &amp;amp;lt;math&amp;amp;gt;A\left( {\vec x} \right)&amp;amp;lt;/math&amp;amp;gt; over the field &amp;amp;lt;math&amp;amp;gt;GF\left( {q} \right)&amp;amp;lt;/math&amp;amp;gt; denoted by &amp;amp;lt;math&amp;amp;gt;r\left( {\vec x; q} \right)&amp;amp;lt;/math&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The set of all vectors &amp;amp;lt;math&amp;amp;gt;\vec x&amp;amp;lt;/math&amp;amp;gt; is a space &amp;amp;lt;math&amp;amp;gt;X^n = A_N^n&amp;amp;lt;/math&amp;amp;gt;. The map &amp;amp;lt;math&amp;amp;gt;\vec x \to r\left( \vec x; q \right)&amp;amp;lt;/math&amp;amp;gt;) defines a norm over &amp;amp;lt;math&amp;amp;gt;X^n&amp;amp;lt;/math&amp;amp;gt; and a ''rank metric'':&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;lt;math&amp;amp;gt;&lt;br /&gt;
 d\left( {\vec x;\vec y} \right) = r\left( {\vec x - \vec y;q} \right)&lt;br /&gt;
&amp;amp;lt;/math&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rank code==&lt;br /&gt;
A set &amp;amp;lt;math&amp;amp;gt;\{x_1, x_2, \dots, x_n\}&amp;amp;lt;/math&amp;amp;gt; of vectors from &amp;amp;lt;math&amp;amp;gt;X^n&amp;amp;lt;/math&amp;amp;gt; is called a code with code distance &amp;amp;lt;math&amp;amp;gt;d = \min d\left( x_i ,x_j \right)&amp;amp;lt;/math&amp;amp;gt; and a ''k''-dimensional subspace of &amp;amp;lt;math&amp;amp;gt;X^n&amp;amp;lt;/math&amp;amp;gt; – a linear (''n'', ''k'')-code with distance &amp;amp;lt;math&amp;amp;gt;d \leq n - k + 1&amp;amp;lt;/math&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Generating matrix ==&lt;br /&gt;
There is known the only construction of rank code, which is a ''maximum rank distance'' MRD-code with ''d''&amp;amp;nbsp;=&amp;amp;nbsp;''n''&amp;amp;nbsp;&amp;amp;minus;&amp;amp;nbsp;''k''&amp;amp;nbsp;+&amp;amp;nbsp;1.&lt;br /&gt;
&lt;br /&gt;
Let's define a Frobenius power &amp;amp;lt;math&amp;amp;gt;[i]&amp;amp;lt;/math&amp;amp;gt; of the element &amp;amp;lt;math&amp;amp;gt;x \in GF(q^N)&amp;amp;lt;/math&amp;amp;gt; as&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;lt;math&amp;amp;gt;&lt;br /&gt;
x^{[i]} = x^{q^{i \mod N}}. \,&lt;br /&gt;
&amp;amp;lt;/math&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, every vector &amp;amp;lt;math&amp;amp;gt;\vec g = (g_1, g_2, \dots, g_n), ~ g_i \in GF(q^N), ~ n \leq N&amp;amp;lt;/math&amp;amp;gt;, linearly independent over &amp;amp;lt;math&amp;amp;gt;GF(q)&amp;amp;lt;/math&amp;amp;gt;, defines a generating matrix of the MRD (''n'', ''k'', ''d''&amp;amp;nbsp;=&amp;amp;nbsp;''n''&amp;amp;nbsp;&amp;amp;minus;&amp;amp;nbsp;''k''&amp;amp;nbsp;+&amp;amp;nbsp;1)-code.&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;lt;math&amp;amp;gt;&lt;br /&gt;
G = \left\| {\begin{array}{*{20}c}&lt;br /&gt;
 g_1 &amp;amp; g_2 &amp;amp; \dots &amp;amp; g_n \\&lt;br /&gt;
 g_1^{[m]} &amp;amp; g_2^{[m]} &amp;amp; \dots &amp;amp; g_n^{[m]} \\&lt;br /&gt;
 g_1^{[2 m]} &amp;amp; g_2^{[2 m]} &amp;amp; \dots &amp;amp; g_n^{[2 m]} \\&lt;br /&gt;
 \dots &amp;amp; \dots &amp;amp; \dots &amp;amp; \dots \\&lt;br /&gt;
 g_1^{[k m]} &amp;amp; g_2^{[k m]} &amp;amp; \dots &amp;amp; g_n^{[k m]}&lt;br /&gt;
\end{array}} \right\|,&lt;br /&gt;
&amp;amp;lt;/math&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;amp;lt;math&amp;amp;gt;\gcd(m,N) = 1&amp;amp;lt;/math&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
There are several proposals for public-key cryptosystems based on rank codes. However, most of them have been proven insecure (see e.g. Journal of Cryptology,&lt;br /&gt;
April 2008).&lt;br /&gt;
&lt;br /&gt;
Rank codes are also useful for error and erasure correction in [[network coding]].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Linear code]]&lt;br /&gt;
* [[Reed–Solomon error correction]]&lt;br /&gt;
* [[Berlekamp–Massey algorithm]]&lt;br /&gt;
* [[Network coding]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
&lt;br /&gt;
[http://wikipedia.org/ http://wikipedia.org/]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>