def test_StatesMatrixMerger(): val_mat1_text = list(tools.ngram(test_text_df["text"].values[0], [1])) val_mat2_text = list(tools.ngram(test_text_df["text"].values[1], [1])) val_mat1 = ValuesMatrix(val_mat1_text, force2d="as_col") val_mat2 = ValuesMatrix(val_mat2_text, force2d="as_col") idx_data_mat1 = val_mat1.build_index_data_matrix() idx_data_mat2 = val_mat2.build_index_data_matrix() idx_data_mat1_old_ref_data = idx_data_mat1.states_matrix._ref_data idx_data_mat2_old_ref_data = idx_data_mat2.states_matrix._ref_data old_idx_data_mat1 = idx_data_mat1.index_matrix.copy() old_idx_data_mat2 = idx_data_mat2.index_matrix.copy() assert len(idx_data_mat1_old_ref_data) > 0 assert len(idx_data_mat2_old_ref_data) > 0 states_mats_merger = StatesMatrixMerger(idx_data_mat1.states_matrix, idx_data_mat2.states_matrix) assert len(states_mats_merger._unique_states_matrix_ids) > 1 states_mats_merger.update() assert len(idx_data_mat1_old_ref_data) == 0 assert len(idx_data_mat2_old_ref_data) == 0 assert id(idx_data_mat1.states_matrix) == id(idx_data_mat2.states_matrix) assert len(idx_data_mat2.states_matrix._ref_data) > 1 assert np.array_equal(idx_data_mat1.index_matrix, old_idx_data_mat1) assert not np.array_equal(idx_data_mat2.index_matrix, old_idx_data_mat2) assert np.array_equal(idx_data_mat1._data, val_mat1) assert np.array_equal(idx_data_mat2._data, val_mat2)
def test_Matrix_build_row_struct_index(): val_mat1_text = list(tools.ngram(test_text_df["text"].values[0], [1])) val_mat2_text = list(tools.ngram(test_text_df["text"].values[1], [1])) val_mat1 = ValuesMatrix(val_mat1_text, force2d="as_col") val_mat2 = ValuesMatrix(val_mat2_text, force2d="as_col") val_mat = ValuesMatrix(np.concatenate((val_mat1._1d_ngram(2), val_mat2._1d_ngram(2)), axis=0)) states_matrix, idx_matrix = val_mat.build_row_struct_index() assert np.array_equal(states_matrix._eval(idx_matrix), val_mat)
def test_Matrix(): row_mat = Matrix(list(tools.ngram(test_text_df["text"].values[0], [1])), force2d="as_row") col_mat = Matrix(list(tools.ngram(test_text_df["text"].values[0], [1])), force2d="as_col") assert row_mat.shape == (1, 6) assert col_mat.shape == (6, 1) assert row_mat._is_1d assert col_mat._is_1d
def total_cost(F_cost, gen_speed, target_vol): return F_cost + target_vol / gen_speed if __name__ == '__main__': assert len(sys.argv) > 1 input_filename = str(sys.argv[1]) with open(input_filename, "r") as input_file: input_file_read = input_file.read() input_file_lines = input_file_read.split("\n") input_file_lines n_cases = int(input_file_lines[0]) case_seps = map(lambda x: 3 * x + 1, range(n_cases + 1)) case_seps_idx = list(tools.ngram(case_seps, 2)) for i_case in range(n_cases): one_case_idx = case_seps_idx[i_case] one_case_data = input_file_lines[one_case_idx[0]:one_case_idx[1]] one_case_n_blocks = int(one_case_data[0]) naomi_block = np.array(map(float, one_case_data[1].split())) naomi_block_ones = np.ones(naomi_block.shape) ken_block = np.array(map(float, one_case_data[2].split())) ken_block_ones = np.ones(ken_block.shape) total_w = np.r_[naomi_block, ken_block] total_ones = np.r_[naomi_block_ones, -ken_block_ones]