Professional Documents
Culture Documents
Jaco
Jaco
import copy
def readfile(file):
f =open(file, "r")
matrix=[]
for line in f:
matrix.append([int (element) for element in line.split()])
f.close()
return matrix
#check the most suitable norm
def appropriate_norm (alpha):
norm_list = []
norm_list.append(np.linalg.norm(alpha, np.inf))
norm_list.append(np.linalg.norm(alpha, 1))
norm_list.append(np.linalg.norm(alpha, 2))
if min (norm_list) >= 1:
return None
else:
for i in range(len(norm_list)):
if norm_list[i]==min (norm_list):
if i == 0:
return np.inf
else:
return i
#check row diagonal dominant
def is_row(array):
x = 1
for i in range(len(array)):
sum_row=0
for j in range(len(array)):
sum_row =sum_row + np.abs(array[i, j])
sum_row=sum_row- array [i,i]
if np.abs(array[i,i]) <= sum_row:
x = 0
return x
# check column diagonal dominant
def is_col ( array ):
x = 1
for j in range (len( array )):
sum_col = 0
for i in range (len( array )):
sum_col = sum_col + np.abs( array [i,j])
sum_col = sum_col - array [j,j]
if np.abs( array [j,j]) <= sum_col :
x = 0
return x