def create_H_matrix(self): helper = Help() Comb = Combinatorics() depend_list = [0 for x in range(0, 2 ** self.r)] depend_list[0] = 1 for i in range(0, self.r): curr_list = [0 for x in range(0, self.r)] curr_list[i] = 1 dec = helper.convert_binary_to_decimal(curr_list, self.r) depend_list[dec] = 1 self.H_transpose.append(curr_list) size = self.r while size < self.n - 1: self.create_depended_cols(size, depend_list) zero_index = depend_list.index(0) new_vector = helper.convert_decimal_to_binary(zero_index, self.r) self.H_transpose.append(new_vector) depend_list[zero_index] = 1 size = size + 1 dep_combination = [j for j in range(0, self.d - 1)] new_vector = helper.sum_of_vectors(self.H_transpose, dep_combination) self.H_transpose.append(new_vector) helper.change_rows_order(self.H_transpose) self.H_matrix = helper.transpose_matrix(self.H_transpose)
def create_words(self): helper = Help() for i in range(0, 2 ** self.k): word = helper.convert_decimal_to_binary(i, self.k) self.words.append(word) return