•program Jacobi;
•config var n : integer = 512;
• eps : float =
0.00001;
•
•region R = [1..n, 1..n];
• BigR =
[0..n+1,0..n+1];
•direction N = [-1, 0]; S = [ 1, 0];
• E = [ 0, 1]; W = [ 0,-1];
•var Temp : [R] float;
• A : [BigR] float;
• err : float;
•
•procedure Jacobi();
• [R] begin
• [BigR] A := 0.0;
•[S of R] A := 1.0;
• repeat
• Temp := (A@N + A@E + A@S + A@W)/4.0;
• err
:= max<< abs(Temp - A);
• A
:= Temp;
• until err <
eps;
• end;
•end;