Implementation

用於查找 MDS 程式碼生成矩陣的 Sage 程式碼

  • November 17, 2021
  1. 讓 $ L $ 豆 $ [n,k] $ 程式碼。一個 $ k\times n $ 矩陣 $ G $ 其行構成了 $ L $ 被稱為生成矩陣 $ L $ .
  2. 線性 $ [n,k,d] $ 具有最大可能最小距離的程式碼稱為最大距離 $ d $ 可分離或MDS程式碼。

我想使用 SageMath 或以另一種方式找到 MDS 程式碼的生成器矩陣,是否有任何 SageMath 程式碼來檢查矩陣是 MDS 程式碼的生成器矩陣。任何有關生成器矩陣的 SageMath 程式碼的幫助將不勝感激。

您可以使用LinearCode(以生成矩陣作為參數):

sage: C = LinearCode(random_matrix(GF(11), 3, 7))                                                                                                                                                                                              
sage: C.minimum_distance()                                                                                                                                                                                                                     
4

然而,對於一般程式碼(例如隨機程式碼),找到最小距離(並檢查它是否是 MDS)是一個難題。因此,您只能對小矩陣執行此操作。

要生成 MDS 矩陣,您可以使用具體結構,例如Cauchy 矩陣。相關線性碼的生成矩陣可以通過將其與單位矩陣連接來獲得。

引用自:https://crypto.stackexchange.com/questions/96162