所以我试着检查一下,在所有可能的排列中,我是否会得到矩阵对角占优的形式,但是当试图检查它时,我得到了一个错误import numpy
from itertools import product
A = numpy.array([[10., -1., 2., 0.],
[2., -1., 10., -1.],
[-1., 11., -1., 3.],
[0.0, 3., -1., 8.]])
def dominance(A):
dominance=True
n=4
sumC=numpy.sum(numpy.absolute(A),axis=0)
sumR=numpy.sum(numpy.absolute(A),axis=1)
resC = [0 for i in range(n)]
resR= [0 for i in range(n)]
for i in range(n):
resC[i]=sumC[i]-A[i,i]
resR[i]=sumR[i]-A[i,i]
if A[i,i]
dominance=False
break
return dominance
def permutate(iterable, r=None):
pool = tuple(iterable)
n = len(pool)
r = n if r is None else r
for indices in product(range(n), repeat=r):
if len(set(indices)) == r:
yield tuple(pool[i] for i in indices)
if dominance(A):
print “Es dominante”
else:
for i in permutate(A):
if dominance(list(i)):
print “this way is dominant”
print i
break
这是错误
^{pr2}$