def METHOD_NAME(matrix):
    params = Parameters.from_list(matrix.params)
    mat = KMatrix(label="", matrix=matrix.matrix)
    mat = fill_item(mat, None, params)
    initial_concentration = matrix.jvec
    for comp in matrix.compartments:
        assert comp in mat.involved_compartments()
    print(mat.reduced(matrix.compartments))
    assert np.array_equal(mat.reduced(matrix.compartments), matrix.wanted_array)
    print(mat.full(matrix.compartments).T)
    assert np.allclose(mat.full(matrix.compartments), matrix.wanted_full)
    print(mat.eigen(matrix.compartments)[0])
    print(mat.eigen(matrix.compartments)[1])
    vals, vec = mat.eigen(matrix.compartments)
    assert np.allclose(vals, matrix.wanted_eigen_vals)
    assert np.allclose(vec, matrix.wanted_eigen_vec)
    print(calculate_gamma(vec, initial_concentration))
    assert np.allclose(calculate_gamma(vec, initial_concentration), matrix.wanted_gamma)
    print(mat.a_matrix_general(matrix.compartments, initial_concentration))
    assert np.allclose(
        mat.a_matrix_general(matrix.compartments, initial_concentration),
        matrix.wanted_a_matrix,
    )