<jupyter_start><jupyter_text><jupyter_code>def vector_size_check(*vector_variables):
    return all(len(vector_variables[0]) == x #we can use "all" as equal as AND function -> True & False
        for x in [len(vector) for vector in vector_variables[1:]])
def vector_addition(*vector_variables):
    if vector_size_check(*vector_variables) == False:
        raise ArithmeticError
    return [sum(elements) for elements in zip(*vector_variables)]
def vector_subtraction(*vector_variables):
    if vector_size_check(*vector_variables) == False:
        raise ArithmeticError
    return [elements[0]*2-sum(elements) for elements in zip(*vector_variables)]
def scalar_vector_product(alpha, vector_variable):
    return [alpha*element for element in vector_variable]
def matrix_size_check(*matrix_variables):
    return all([len(set(len(matrix[0]) for matrix in matrix_variables)) == 1]) and all([len(matrix_variables[0]) == len(matrix) for matrix in matrix_variables])
def is_matrix_equal(*matrix_variables):
    return all([all([len(set(row)) == 1 for row in zip(*matrix)]) for matrix in zip(*matrix_variables)])
def matrix_addition(*matrix_variables):
    if matrix_size_check(*matrix_variables) == False:
        raise ArithmeticError
    return [[sum(row) for row in zip(*matrix)] for matrix in zip(*matrix_variables)]
def matrix_subtraction(*matrix_variables):
    if matrix_size_check(*matrix_variables) == False:
        raise ArithmeticError
    return [[row[0]*2 - sum(row) for row in zip(*matrix)] for matrix in zip(*matrix_variables)]
def matrix_transpose(matrix_variable):
    return [[element for element in row] for row in zip(*matrix_variable)]
def scalar_matrix_product(alpha, matrix_variable):
    return [scalar_vector_product(alpha,row) for row in matrix_variable]
def is_product_availability_matrix(matrix_a, matrix_b):
    return len([column_vector for column_vector in zip(*matrix_a)]) == len(matrix_b)
def matrix_product(matrix_a, matrix_b):
    return [[sum(a*b for a,b in zip(row_a, column_b)) for column_b in zip(*matrix_b)] for row_a in matrix_a]<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11037735849056604, 'fraction_numerical': 0.0047169811320754715, 'mean_word_length': 5.798076923076923, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '485509', 'license': 'Apache-2.0', 'n_tokens_mistral': 637, 'n_tokens_neox': 622, 'n_words': 172, 'path': 'Lab1_Basic_Linear_Algebra.ipynb', 'repo_name': 'YeonKang/Python-for-Machine-Learning', 'size': '2120'}