def isNormal(A, method = 'definition'):
# use Schur inequality to determine whether it's normal
if method == 'Schur':
# initialize eigenValue
eigenValue = la.eig(A)[0]
if abs(np.sum(eigenValue**2) - la.norm(A, 'fro')**2) < 0.00001:
return True
else:
return False
# use definition
else:
if abs((A.conjugate().T.dot(A) - A.dot(A.conjugate().T)).all()) < 0.00001:
return True
else:
return False
评论列表
文章目录