Implementation
用於查找 MDS 程式碼生成矩陣的 Sage 程式碼
- 讓 $ L $ 豆 $ [n,k] $ 程式碼。一個 $ k\times n $ 矩陣 $ G $ 其行構成了 $ L $ 被稱為生成矩陣 $ L $ .
- 線性 $ [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 矩陣。相關線性碼的生成矩陣可以通過將其與單位矩陣連接來獲得。