2 SUBROUTINE ludcmp (a, n, np, indx, d)
31 integer,
intent(in) :: n, np
33 integer,
intent(out) :: indx(n)
35 real(r8),
intent(inout) :: a(np,np)
36 real(r8),
intent(out) :: d
40 integer i, ier, imax, j, k
42 real(r8),
parameter :: tiny = 1.0e-20_r8
44 real(r8),
dimension(n) :: vv
46 real(r8) :: aamax, dum, MySum
57 IF (abs(a(i,j)).gt.aamax) aamax=abs(a(i,j))
59 IF (aamax.eq.0.0_r8)
THEN
72 mysum=mysum-a(i,k)*a(k,j)
83 mysum=mysum-a(i,k)*a(k,j)
88 IF (dum.ge.aamax)
THEN
104 IF (a(j,j).eq.0.0_r8) a(j,j)=tiny
111 IF (a(n,n).eq.0.0_r8) a(n,n)=tiny