generer H avec k

This commit is contained in:
2026-02-12 12:32:46 +01:00
parent d478be5f77
commit 1c7daec957
2 changed files with 19 additions and 0 deletions

View File

@ -33,3 +33,21 @@ pub fn generate_random_h(rows: usize, cols: usize, wc: usize, wr: usize) -> Matr
}
}
}
pub fn generate_random_h_for_k(k: usize, wc: usize, wr: usize) -> MatrixGF2 {
assert!(wr > wc, "wr < wc ...");
assert!((k * wr) % (wr - wc) == 0, "Colonnes non entieres");
let n = (k * wr) / (wr - wc);
let m = n - k;
// On garde que les matrice de rang m
loop {
let h_matrix = generate_random_h(m, n, wc, wr);
let mut h_test = h_matrix.clone();
let (rank, _) = h_test.gauss_jordan_swap_cols();
if rank == m {
return h_matrix;
}
}
}

View File

@ -41,6 +41,7 @@ impl DenseEncoder {
// let mut codeword = vec![0; self.n];
// s = u * G
// for c in 0..self.n {
// let mut sum = 0;
// for r in 0..self.k {