确定表示关系的1-0矩阵是否是对称的。

时间:2014-03-18 01:13:48

标签: python matrix

我知道在表示关系的矩阵中,关系是对称的是1-0矩阵,表示它具有满足行i的a_ij = a_ji和矩阵中的col j的条目。

以下是我尝试解决方案:

def sym(a):
    assert (len(row) == len(a) for row in a)   
    for i in range(len(a)):
        for j in range (len(a)):
            if all(a[i][j] == a[j][i]):
        return True    
    return False

1 个答案:

答案 0 :(得分:0)

我们遍历矩阵的行并进行比较,就像这样

def sym(a):
    assert set(len(item) for item in a) == {len(a)}
    return all(a[i][j] == a[j][i] for i in range(len(a)) for j in range (len(a)))

a = [[1, 0], [0, 1]]
print sym(a)
# True
a = [[1, 0]]
print sym(a)
# AssertionError
a = [[1, 1], [0, 0]]
print sym(a)
# False