📄 sym7gen.f
字号:
Subroutine sym7gen( n1, n2, n3, a, b )! ----------------------------------------------------------------------! --- sym7gen generates the 4 upper diagonals of a 7-diagonal symmetric! matrix to be solved by a GC iterative solver. Also the RHS, b is! generated.! Real(l_) a(n1*n2*n3,0:3) : Matrix to be generated.! Real(l_) b(n1*n2*n3) : Right hand side.! ---------------------------------------------------------------------- Use numerics Use ran_module Implicit None Integer :: n1, n2, n3 Real(l_) :: a(n1*n2*n3,0:3) Real(l_) :: b(n1*n2*n3) Integer :: i, n12, ntot Real(l_) :: offdg! ---------------------------------------------------------------------- n12 = n1*n2 ntot = n12*n3 Call rinit Call ranfil( a(1,1), ntot*3 ) Do i = 1, ntot offdg = Sum( a(i,1:3) ) a(i,0) = 2.0_l_*offdg End Do Do i = 1, ntot a(i,1:3) = -a(i,1:3)/a(i,0) a(i,0) = 1.0_l_ b(i) = Sum( a(i,1:3) ) + Sum( a(i,0:3) ) End Do! ---------------------------------------------------------------------- End Subroutine sym7gen
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -