# Метод простых итераций
B = [
[0.00, 0.08, -0.23, 0.36],
[0.16, -0.22, 0.18, 0.00],
[0.15, 0.12, 0.35, -0.17],
[0.25, 0.21, -0.19, 0.03],
]
c = [1.37, -2.38, 0.38, 0.64]
n = 4
# Входные данные
x = list(map(float, input("Начальное приближение (4 числа через пробел): ").split()))
eps = float(input("Точность: "))
# Проверка сходимости
norm = 0
for i in range(n):
s = 0
for j in range(n):
s += abs(B[i][j])
if s > norm:
norm = s
if norm >= 1:
print("Метод не сходится")
else:
print("Условие сходимости выполнено, норма =", norm)
k = 0
while True:
x_new = []
for i in range(n):
value = c[i]
for j in range(n):
value += B[i][j] * x[j]
x_new.append(value)
k += 1
# самое большое изменение среди всех x
diff = 0
for i in range(n):
d = abs(x_new[i] - x[i])
if d > diff:
diff = d
x = x_new
if diff < eps:
break
print("Решение:")
for i in range(n):
print("x%d = %.5f" % (i + 1, x[i]))
print("Количество итераций:", k)