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
Beispiel #4
0
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]
Beispiel #5
0
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]