(* въвеждаме матрицата A и вектора b, съответстващи на изходната система (СЛАУ): *)
A=(({{58, -4, 2.8}, {-1, 21, 3}, {2.8, 3.2, -20Pi}})); b={84,-13.4,22};
(* инициализираме матрицата B и вектора c, които ще използваме за итерационния процес: *)
B=(({{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}));c={0,0,0};
(* задаваме елементите на матрицата B и вектора c: *)
For[i=1, i≤3, i++,
c[[i]]=((b[[i]])/(A[[i,i]]));
B[[i]] = -((A[[i]])/(A[[i,i]]));
B[[i,i]] = 0
]
B//TableForm
c//TableForm
(* начално приближение: *)
x={100,2000,180000};
For[k=1,k≤20,k++,
x=B.x+c;
Print["k = ",k," x = ",x]
]

пояснение за работа с матрици и вектори:

A=(({{58, -4, 2.8}, {-1, 21, 3}, {2.8, 3.2, -20Pi}})); b={84,-13.4,22};

A[[1,1]]

A[[3,3]]

A[[1]]

2A[[1]]

2A[[1]]

Тайни козове - вградена функция за решаване на СЛАУ:

LinearSolve[A,b]

смятаме първа норма на матрицата B:

B//MatrixForm

(∑_(j=1)^3)Abs[B[[1,j]]]

(∑_(j=1)^3)Abs[B[[2,j]]]//N

(∑_(j=1)^3)Abs[B[[3,j]]]

Max[(∑_(j=1)^3)Abs[B[[1,j]]],(∑_(j=1)^3)Abs[B[[2,j]]],(∑_(j=1)^3)Abs[B[[3,j]]]]//N

добавяме към кода изчисляване на текущата грешка и стоп-критерий а достигане на нужната точност

(* въвеждаме матрицата A и вектора b, съответстващи на изходната система (СЛАУ): *)
A=(({{58, -4, 2.8}, {-1, 21, 3}, {2.8, 3.2, -20Pi}})); b={84,-13.4,22};
(* инициализираме матрицата B и вектора c, които ще използваме за итерационния процес: *)
B=(({{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}));c={0,0,0};
(* задаваме елементите на матрицата B и вектора c: *)
For[i=1, i≤3, i++,
c[[i]]=((b[[i]])/(A[[i,i]]));
B[[i]] = -((A[[i]])/(A[[i,i]]));
B[[i,i]] = 0
]
B//TableForm
c//TableForm
(* начално приближение: *)
x={100,2000,180000};
Print["k = ",0," x = ",x];
tochnost=(10^(-7));
eps=3;
For[k=1,eps > tochnost,k++,
xnew=B.x+c;
eps=Max[Abs[xnew-x]];
Print["k = ",k," x = ",xnew," ϵ = ", eps ];
x=xnew
]