Высокопроизводительные вычисления на кластерах. Беликов Д.А - 121 стр.

UptoLike

121
! в случае, если число итераций превысило 300, программа
! завершает работу и выдает соответствующее сообщение
goto 12
11 write (6,*) 'Iteration pricess was diverged'
write (6,*) 'Maximum error =', max_err
12 end
!
!
Subroutine matgen (a, n)
implicit none
integer n, i, j
double precision a(n,n+1)
!
!
do 30 j = 1,n+1
do 20 i = 1,n
! задание элементов матрицы
if(j.le.n) then
a(i,j) = 1.0d0
else
a(i,j)=2.1d0*(n-1)
end if
20 continue
30 continue
do 50 j = 1,n
a(j,j)=0.0
do 40 i = 1,n
! задание элементов на главной диагонали матрицы
if(i.ne.j) a(j,j) = a(j,j) + abs(a(i,j))*1.1d0
40 continue
50 continue
return
end
!